我正在使用JSON制作我的登录脚本,所以我在我的脚本中使用了以下内容:
$.getJSON("link to PHP where to get the JSON data from", function (data) {
// THE CODE TO BE EXECUTED
});
因此,当JSON中的PHP返回数据时,代码将被执行,但是构建else结构的最佳方法是什么?那么当PHP / JSON没有返回时,要执行其他代码吗?
提前致谢
答案 0 :(得分:1)
使用jQuery的承诺。来自the docs:
var jqxhr = $.getJSON( "example.json", function() {
console.log( "success" );
})
.done(function() {
console.log( "second success" );
})
.fail(function() {
console.log( "error" );
})
.always(function() {
console.log( "complete" );
});
答案 1 :(得分:0)
您应该检查PHP输出以始终输出一些数据。
例如 PHP:
$result = array (
'success' => true,
'data' => $data
);
echo json_encode($result);
如果我没有输出任何内容,我会将false设置为成功,这样可以通过data.success轻松验证jQuery:
示例:
$.getJSON('your_url'), {parameters}, function(data){
if (data.success) {
alert('Result');
} else {
alert('Empty');
}
});
如果您不想修改输出,可以设置ajaxError来捕捉您的阅读问题。
示例:
$.ajaxError(function() {
alert('error triggered');
});