使用ajax php取消链接文件后得到结果有问题。 unlink函数完全完成工作,但无法将结果返回给javascript。
在 JAVASCRIPT **
我使用非常普通的ajax和POST方法
PHP 中的
$params=$_POST['params'];
$id_edit=$_POST['id_edit'];
//然后我使用$ _POST ['id_edit']从数据库中获取图像的名称; for where clause。
$del_img="imgfolder/".$row['name_img'];
//然后取消链接文件
if (file_exists($del_img)) {
unlink($del_img);
}
////取消链接finshed后发送结果到ajax
echo"ok";
***文件被完全删除但是ajax无法获得结果。 PS:我没有错误,也没有ajax的问题。但只是不能让php给出结果。我猜是因为unlink文件无法将结果提供给ajax?
答案 0 :(得分:0)
当您不显示JavaScript代码时很难修复,但这对我有用!
function send(){
if (xmlHttp.readyState === 0 || xmlHttp.readyState === 4) {
xmlHttp.open("POST", example.php, true);
xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlHttp.onreadystatechange = handleServerRespons;
xmlHttp.send("what ever you want to send");
}else{
setTimeout('send()', 1000);
}
}
function handleServerRespons(){
如果您想使用响应文本(这不适用于IF语句):
if (xmlHttp.readyState === 4){
if (xmlHttp.status === 200){
if(url === 'sections/verify.php'){
var text1Response = xmlHttp.responseText;
如果你想使用xml:
var xmlResponse = xmlHttp.responseXML;
var xmlDocumentElement = xmlResponse.documentElement;
message = xmlDocumentElement.firstChild.data;
if (message = "ok"){
alert("ok");
}else{
alert("fail");
}
}
答案 1 :(得分:0)
最后我发现了错误。 我用户json将错误作为数组返回。 这就是为什么我无法得到错误消息。
但这很奇怪......我用纯PHP测试(没有ajax)为什么我没有收到错误消息?
<强>顺便说一句强>
错误是通过推杆修复的。 ($ _SERVER [ 'DOCUMENT_ROOT']“img_folder /".$行[ 'name_img']);
因为在开始时我只有$ del_img =“imgfolder /".$ row ['name_img'];
这就是为什么如果文件不存在我得到了meesage。
我发现之后 因为$ row [img]是空的。 unlink函数确实不知道名字 要删除的图像。