我正在使用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”时,不显示任何内容
这对我来说没有意义。
答案 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.prop
或obj['prop']
var obj= {"author":"Joe","created":"2015-07-28T22:33:34.667","id":1,"message":"Hello World"};
alert(obj.author);
alert(obj['author']);