如何从jQuery .ajax帖子中显示返回的JSON

Dir*_*ign 10 jquery parsing json string-parsing

开始处理完全基于JSON数据构建的项目.它返回如下:

{"location":{"id":10,"contactPhone":"8675309","contactName":"bob","name":"bill smith","zipCode":"90210","state":"California","address1":"104 S. Olive","city":"Temecula","country":"USA"},"success":true}
Run Code Online (Sandbox Code Playgroud)

通过遍历带有.find和其他过滤的DOM来查找成功标志,我很乐意处理以HTML格式(通常是表格)返回的数据.我不知道如何用JSON做到这一点 - 我需要过滤到最后一个对象"success"并检查它是真还是假.使用HTML返回的数据,我这样做:

submitHandler: function(form) {
    $.ajax({
     //other ajax stuff
      success: function(data) {
        var answer = $(data).find("td:eq(1)").text();
        var message = $(data).find("td:eq(3)").text();
        //console.log(data);
        if (answer == "True") {
          $('#messages').show().html(message);
      } else {
          $('#messages').show().html('Error logging in: ' + message);
      }
    }
  });
  return false;
  }
Run Code Online (Sandbox Code Playgroud)
  1. 即使在使用这种方法之后,我也不完全理解函数(数据)意味着什么,我已经使用了数据,消息和响应 而没有真正理解它们之间的区别.

我可以发布到webservice并通过此.ajax调用获取返回的JSON

$.fn.serializeObject = function() {....}
submitHandler: function(form){
    var wrapper = {};
    var location = {};
    wrapper.location = $("#newLocation").serializeObject();
        $.ajax({
            type: $(form).attr('method'),
            url: '/web/service/' + 'locationService' + '/' + 'createLocation',
            dataType: 'json',
            async: false,
            data: JSON.stringify(wrapper),
            success: function(msg) {
                    console.log('success' + msg );
                    //need to traverse to success and if true, do something
            },
                    error: function(msg) {
                    console.log('failure' + msg );
                    //need to traverse to success and if false, do something
            }
    });
    return false;
}
Run Code Online (Sandbox Code Playgroud)
  1. 如何过滤到JSON字符串(字符串或对象?)中的"成功"部分?
  2. JSON字符串IE" contactPhone "中键/数对的正确术语(甚至是正确的)是什么:" 8675309 "
  3. 如果"成功",那么你如何显示数据:"真实" - 我会自己努力,但如果有人有好的方法,我会很感激一些建议.我想你只是以某种方式附加到一张桌子上?

    我对JSON有很多疑问,我试图以一般方式提出问题,以便我得到的帮助可以帮助别人,我为这篇文章的篇幅道歉.我感谢任何帮助,如果要求,将缩短/编辑此问题.

A. *_*lff 4

这里的msg是一个json格式的对象。您可以获得这样的成功值:

success: function(msg) {
                    console.log('success' + msg.success );
                    if(msg.success) { //could be wrote: msg.success === true
                        //do some stuff
                    }
            },
Run Code Online (Sandbox Code Playgroud)

"联系电话":"8675309"

contactPhone 是键,“8675309”是值。但在您的示例中,要获取“contactPhone”值,您需要首先获取位置对象:

var contactPhoneValue = msg.location.contactPhone;
Run Code Online (Sandbox Code Playgroud)