1
我正在使用MVC,并且我有一个按钮使用AJAX调用来删除站点上传的图像。PHP从控制器返回值到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调用的成功功能。
任何想法?
Ajax无法检索'PHP'函数的返回值。你需要使用'echo'来代替。 – 2014-10-10 16:58:23
我改变它回声,但'console.log(味精);'仍然不显示值。还有什么我需要添加到'味精'? – SBB 2014-10-10 17:10:49
您在ajax调用中的数据类型属性期望从服务器返回XML,这就是为什么我以我的方式回答问题的原因。尝试将其更改为'html' – Overachiever 2014-10-10 18:26:29