我正在使用MVC,我有一个使用AJAX调用的按钮来删除网站上传的图像。
这是我的模特:
public function remove_document($documentID, $documentName)
{
$objData = $this->objDB
-> setStoredProc('attritionRemoveDocument')
-> setParam('documentID', $documentID)
-> setParam('documentName', $documentName)
-> execStoredProc()
-> parseXML();
return $objData->data->response;
}
此后的回复是true
或false
。
这是我的控制器:
public function deleteFile()
{
// Get the documentID we are removing
$documentID = $this->input->post('documentID');
$documentName = $this->input->post('documentName');
// Check if the file is even there
if (file_exists('./uploads/'.$documentName)){
// Remove file
unlink('./uploads/'.$documentName);
$removeFile = $this->submit_model->remove_document($documentID, $documentName);
return $removeFile;
}
}
最后,我的AJAX电话:
$('[name=deleteDocument]').click(function() {
var documentID = $(this).attr('documentID'),
documentName = $(this).attr('documentName');
//Delete the image
$.ajax({
type: 'POST',
url: '../deleteFile',
dataType: 'xml',
data: {
'documentID': documentID,
'documentName': documentName
},
success: function(msg) {
// On Success, remove the current file section
console.log(msg);
}
});
});
当我echo
控制器中的$removeFile
值时,我看到true/false
值,但它从未进入AJAX调用的成功函数。
有什么想法吗?
答案 0 :(得分:0)
如果结果为真
echo "OK"
如果结果为假
echo "NO"
在您的视图和成功部分
success: function(msg) {
if(msg=="OK"){
alert("DELETED");
}else{
alert("NOT deleted");
}
如果您将控制器与ajax一起使用,您的控制器不应该返回BOOL,您的AJAX调用应该通过success方法控制结果。