php响应后函数不起作用

时间:2011-02-25 13:08:06

标签: php extjs

我有一个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);
?> 

始终执行成功功能。 可能是什么问题?

3 个答案:

答案 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的文档以查找。

相关问题