我有一个ajax请求将一些数据发送到php文件:
Ext.Ajax.request({
url: 'update.php',
method: 'POST',
success: function (){ alert("saved"); },
failure: function (){ alert("not saved"); },
params: { data: someData }
})
和update.php只有两行:
<?php
$res = array('success' => false);
echo json_encode($res);
?>
始终执行成功功能。 可能是什么问题?
答案 0 :(得分:4)
对我来说,当请求出现问题时,应该调用函数失败。例如如果服务器已关闭或页面update.php不再存在。
答案 1 :(得分:2)
Ext.Ajax.success
因为AJAX请求成功。如果您重命名或删除update.php,它将执行.failure
因为它获得了404
您必须检查.success
中的响应或使update.php返回404。
答案 2 :(得分:2)
success
。您回复的数据无关紧要。
请求失败时调用error
回调。它没有失败,因此没有调用回调。
在成功回调中解析结果数据以查看应用程序级逻辑:
Ext.Ajax.request({
url: 'update.php',
method: 'POST',
success: function (data){ alert(data.success ? "saved" : "not saved"); },
failure: function (){ alert("request failed"); },
params: { data: someData }
});
我假设success
可能带有响应内容的参数;查看Ext的文档以查找。