$ .getJSON(..... php,function)else

时间:2014-04-01 17:42:07

标签: javascript php json if-statement

我正在使用JSON制作我的登录脚本,所以我在我的脚本中使用了以下内容:

$.getJSON("link to PHP where to get the JSON data from", function (data) { // THE CODE TO BE EXECUTED });

因此,当JSON中的PHP返回数据时,代码将被执行,但是构建else结构的最佳方法是什么?那么当PHP / JSON没有返回时,要执行其他代码吗?

提前致谢

2 个答案:

答案 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');
});