过去2个小时我一直在研究这个问题。当我尝试使用函数解析GET请求时,我收到错误SyntaxError: Unexpected token u
。但我一次执行相同的代码一行它工作正常。
我注意到,一旦我创建了一个对象,它的readyState就是1,但是在我保存它并等待一秒后,readyState变为4然后它解析得很好。
我想也许我拉的XmlHttpObject只需要在对象已经在我的计算机上之后与服务器进行通信,就像可能没有完成拉动所有信息一样,一旦信息拉完成就把它变成4。由于这个实现我尝试使用超时功能等待几秒然后尝试解析它,但我仍然无法让它工作!
这是我的代码:
function pullData(){
var obj = $.get("https://api.parse.com/1/classes/chats");
var object_array = JSON.parse(obj.responseText);
return object_array
}
答案 0 :(得分:1)
function pullData(callbackFunction)
$.get( "https://api.parse.com/1/classes/chats", function( data ) {
var object_array = JSON.parse(data);
callbackFunction(object_array);
});
}
JavaScript ajax调用是异步的,因此在执行get请求后,你无法在下一行代码中获得结果,因为get请求是在后台执行的。
JQuery有一个很好的文档来了解如何编写ajax请求。 http://api.jquery.com/jquery.get/
答案 1 :(得分:-1)
为什么不试试
function pullData(){
$.get("YOUR_URL")
.done(function(data) {
var object_array = JSON.parse(data);
return object_array
})
}