2015-09-04 84 views
0

我很难理解$.getJSON
我有一个网址,我想作一个功能,例如fetch(url)我用$.getJSON来获取一个字符串并解析它。

URL的反应是这种形式:

{ 
    "status": "Unknown", 
    "additionalStatus": "None", 
    "emailAddressProvided": "[email protected]", 
    "emailAddressChecked": "[email protected]", 
    "emailAddressSuggestion": "" 
} 

我想要的功能到

data.status = Unknown 
data.additionalStatus = None 
. 
. 

...等等返回一个变种data

谢谢!

+4

'$ .getJSON'使用AJAX。您*无法*从AJAX呼叫返回。它是*异步*。你需要使用回调。 –

+0

请参阅:http://stackoverflow.com/questions/14220321/how-to-return-the-response-from-an-asynchronous-call –

+1

正如@RocketHazmat所说,getJSON返回一个对象,它将更新以包含数据时响应被发送,但不是立即(只有像window.confirm这样的函数实际上阻止了javascript的运行)。您需要为getJSON函数提供“回调”函数,一旦AJAX请求得到响应,函数将调用它。 –

回答

0

function fetch(){ var output; $.ajax({ url: "put url here", datatype: "json", async: false }) .done(function(data){ output = "hi"; }); return output; }

也许你可以做这样的事情,返回的输出。但是,不建议将async设置为false。