jQuery $ .ajax使用来自全局变量的本地JSON数据

时间:2014-01-07 21:58:51

标签: javascript jquery ajax json

我想在同一本地js文档中使用存储在全局变量中的$.ajax w / JSON数据(window.jsonData = '{"dataCallback":[{"key":"val"}]})';)。这是可能的,如果是这样,我该怎么做?

更新:似乎$.ajax()$.getJSON()$.get()$.getScript()都需要url(可以指向本地或远程文件)作为数据源。

如何使用全局window.jsonData作为数据来源?

请参阅:http://jsfiddle.net/Dns2r/。随意玩。

2 个答案:

答案 0 :(得分:0)

是的,但是您必须在Ajax成功回调中eval使用responseText,或者使用jQuery对JSONP的内置支持。

另一个可能有用的StackOverflow问题:

Basic example of using .ajax() with JSONP?

答案 1 :(得分:0)

听起来您正在尝试模拟Ajax请求并返回本地数据。如果是这种情况,请给MockJax一个旋转:

window.jsonData = '{"dataCallback":[{"key":"val"}]})';

// Set up the mockjax handler
$.mockjax({
  url: '/some/url',
  responseText: window.jsonData
});

// Now call the ajax method of your choice
$.getJSON('/some/url', function (data) {
  console.log(data.dataCallback[0].key); // "val"
});

希望这就是你所追求的!