显然jQuery让我愚蠢.
我有一个提供原始JSON的本地URL,我无法弄清楚如何在不使用jQuery的情况下从我的方法中使用json.
这是我用jQuery做的知道
var myJson;
$.getJSON('/local/path/to/json', function (data) {
myJson = data;
});
// Now I can use myJson in a method.
Run Code Online (Sandbox Code Playgroud)
要从服务器使用XMLHttpRequest对象中检索JSON字符串,如本参考中所述:
http://developer.mozilla.org/en/XMLHttpRequest
您会发现它与您需要考虑和检查的所有看不见的事情密切相关.因此库像jQuery.
要将JSON字符串转换为javascript对象,请使用JSON.parse().这是参考:
http://developer.mozilla.org/En/Using_native_JSON
这是一个例子:
function readJSON(file) {
var request = new XMLHttpRequest();
request.open('GET', file, false);
request.send(null);
if (request.status == 200)
return request.responseText;
};
var myObject = JSON.parse(readJSON('/local/path/to/json'));
Run Code Online (Sandbox Code Playgroud)
编辑#2:感谢您在此示例中编辑Chase.一句警告.open()通过false在第3个parm中使用来使方法成为同步调用不是一个好主意.AJAX是专门为异步使用而设计的,并且使同步调用可以锁定.作为曾经认为有同步调用的地方的人,我现在发现总是有一种更好的方法来异步完成它.说到明智的话.
| 归档时间: |
|
| 查看次数: |
9894 次 |
| 最近记录: |