画像のリストがある「add.cpt」というページにいます。ユーザーには画像を削除するオプションがありますが、機能させることはできません。クリックのイベントで、画像の名前とアイテムの ID (.../item/imageName) を渡そうとする ajax を呼び出そうとしますが、画像を削除し、delete_photo_file の内容と思われるものを警告します。 ctp。ajax が URL を使用しているように見えますが、必要なファイルを削除するためのデータを送信していません。
アイテムコントローラー:
App::uses('File', 'Utility');
class ItemsController extends AppController{
[...]
public function deletePhotoFile(){
//$this->autoRender = false; //did not tested but maybe I need to use this
$imgName = //don't know how to get it from ajax call
$itemId = //don't know how to get it from ajax call
$file = new File($dir.'/'.$itemId.'/'.$imgName);
$file->delete();
}
}
Ajax 呼び出し (私の ctp ファイルから):
$('#delete').click(function (){
[...]
var itemId=$('#itemId').val(); //comes from hidden input
var imgName = $('#imgName').val(); //comes from hidden input
$.ajax({
type: 'POST',
url:'http://localhost/html/Project/v5/CakeStrap/items/deletePhotoFile/',
data:{"itemId":itemId, imgName: imgName},
success: function(data){
alert(data); //alerts some HTML... seems to be delete_photo_file.ctp content
}
});
});
誰でも私を助けることができますか?ありがとう!