如何检测JSON对象?

时间:2018-07-06 16:51:06

标签: javascript json ajax if-statement

我可以检测到JSON对象并根据其对象显示消息吗?

我尝试过这样,但是它不起作用:(

$.ajax({
    type: "POST",
    url: "example.php",
    data: form_data,
    success: function(data) {

      if(data.has("error")){
          alert('Invalid data')
      } else {
          alert('Correct data')  
      };

    }
});

如果输入的数据有误, 数据 会在控制台中显示如下内容:

{“对象”:“错误”,“类型”:“错误数字” ...

如果该对象包含错误,我想显示错误消息。否则,继续

2 个答案:

答案 0 :(得分:-1)

请确保在ajax请求上将dataType设置为“ json”,以便在将数据传递给成功处理程序之前将其解析为json。

$.ajax({
    type: "POST",
    url: "example.php",
    data: form_data,
    dataType: "json",
    success: function(data) {

      if(data.has("error")){
          alert('Invalid data')
      } else {
          alert('Correct data')  
      };

    }
});

答案 1 :(得分:-2)

一个json对象是Object类型的,因为如果typeof(jsonObj)== Object,您将收到任何东西,您将不知道它是一个json对象还是仅仅是一个对象,但是您可以做什么,请阅读请求中的标头,如果是application / json,则将是json对象。

另一件事是,您可以在json对象中添加一个属性,例如

  var obj = {
    customProp: 'Whatever property you want',
    data: {
    childData: childData
    }

}

我刚刚正确地理解了你的问题。

请求中包含成功响应和错误响应

成功响应是响应。状态<200 <300(通常为200)

您可以做的是,在服务器上函数的响应中,检测对象,如果对象正确,则发送响应,否则返回错误对象

error = {errorText: 'Your form is not correct'}

希望这会有所帮助!