Ajaxで画像の削除
Ajaxで画像を削除しようといろいろ試行錯誤しているのですが、
最終的なところで詰まっています。
$(function(){
$("input:button").click(function(){
//クリックされた画像のidを取得
var id = $(this).attr("id");
alert(id);
//削除ボタンの無効化
$(this).attr("disabled",true);
//idをサーバに送信(PHP側で削除処理)して結果を受け取る
$.ajax({
url : "/test/delete_image",
dataType : "json",
data : {id:id},
type : "post",
success : function(data){
if(data.id){
alert(data.id);
$("#tblh img#image"+data.id).attr("src","/images/noimage.gif");
}
},
error : function(){
alert("通信に失敗しました。");
}
});
});
});
codeigniterというフレームワークを利用しPHP側では画像をディレクトリから削除しています。(こちらの動作は問題なし)
<?php
class Delete_image extends CI_Controller {
function __construct(){
// Model クラスのコンストラクタを呼び出す
parent::__construct();
$this->load->model('array_constant');
$this->load->helper(array('form', 'url'));
$this->load->library('form_validation');
$this->load->library('form_ex');
}
function index(){
if(!$this->input->post("id")){
return false;
}else{
//画像の削除とDBの画像名称を更新
$arr = array('id' => $this->input->post("id"));
}
echo json_encode($arr);
}
}
としています。
画像の削除とDBの画像名称は更新されてるのでPHP側は問題ないようです。
jsonの値を受け取って画像を置き換えようとしているのですが、エラー側のほうに
判断されてしまいます。「alert("通信に失敗しました。");」となります。
なぜか分からず困っています。
教えてください。