如何使用JQuery中的data参数解析JSON?

时间:2015-07-29 03:34:35

标签: javascript jquery ajax json rest

我正在使用Jersey和JQuery为客户端制作一个Web应用程序。 我有以下返回JSON字符串的URL:

http://localhost:8080/messenger/webapi/messages/1

返回:

 {"author":"Joe","created":"2015-07-28T22:33:34.667","id":1,"message":"Hello World"}
输入浏览器时

现在我正在尝试使用以下JQuery函数获取此数据客户端:

var rootURL = "http://localhost:8080/messenger/webapi/messages";

$(function() {


$('#btnRegister').click(function() {
    var username = $('#username').val();
    addMessage();
});

function addMessage() {

    var url = rootURL;
    $.ajax({
        type: 'GET',
        url: rootURL +"/1",
        dataType: "json", // data type of response
        success: (function(data) {
            var obj = jQuery.parseJSON(data);
            alert('ID: ' + obj.id);

        })
    });
}

});

编辑:当按下“btnRegister”时,不显示任何内容

这对我来说没有意义。

1 个答案:

答案 0 :(得分:1)

在成功回调函数中有一些不需要的$包装,也没有必要在设置dataType:'json'时解析响应。为了更好地理解 $.ajax() ,请阅读文档 here

$(function() {

  $('#btnRegister').click(function() {
    var username = $('#username').val();
    addMessage();
  });

  function addMessage() {

    var url = rootURL;
    $.ajax({
      type: 'GET',
      url: rootURL + "/1",
      dataType: "json", // data type of response
      success: function(data) {
        //----^----------- remove the $ sign
        alert('ID: ' + data);
      }
    });
  }
});

您可以使用obj.propobj['prop']

来访问该值

var obj= {"author":"Joe","created":"2015-07-28T22:33:34.667","id":1,"message":"Hello World"};

alert(obj.author);
alert(obj['author']);