好吧,所以我有一个PHP脚本从DB获取结果,并获得这些结果我使用jQuery脚本通过getJSON拉取结果.它工作得很好,但现在我想做一些事情,如果PHP脚本没有返回任何结果(空).
我试过了:
$.getJSON('path/to/script'), {parameter:parameter}, function(data){
if (data) {
alert('Result');
} else {
alert('Empty);
}
});
Run Code Online (Sandbox Code Playgroud)
但这并不好.我尝试了不同的东西,如if(data.length),但仍然没有.我注意到如果没有返回的数据,回调将永远不会触发.所以,如果是这样,我该如何处理空回报?
您应该检查PHP输出以始终输出一些数据.
在我的代码中,我为输出添加了一个成功标志,如下所示:
$result = array (
'success' => true,
'data' => $data
);
echo json_encode($result);
Run Code Online (Sandbox Code Playgroud)
如果我没有输出任何内容,我将false设置为成功,这使得通过data.success在jQuery中进行验证变得容易:
例:
$.getJSON('path/to/script', {parameter:parameter}, function(data){
if (data.success) {
alert('Result');
} else {
alert('Empty');
}
});
Run Code Online (Sandbox Code Playgroud)
如果您不想修改输出,可以设置ajaxError来捕获您的阅读问题.
例:
$.ajaxError(function() {
alert('error triggered');
});
Run Code Online (Sandbox Code Playgroud)
PS:我不知道在这一行结束时是否遗漏了'
alert('Empty);
Run Code Online (Sandbox Code Playgroud)
你原来真的很遗憾,如果是的话,你错过了';-) >>
alert('Empty');
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7686 次 |
| 最近记录: |