我正在使用AJAX请求.这是我第一次使用JSON或其中任何一种方法.ajax实用程序将onreadystatechange回调的参数作为我正在请求的文件的responseText或responseXML返回.使用一个简单的info.txt,request.responseText并将工作正常,但当我尝试它,当我多次检查我的语法是正确的时info.js,JSON.parse它返回"意外的令牌ILLEGAL".这是JSON:
JSON:
{
first: 1,
second: 2
}
Run Code Online (Sandbox Code Playgroud)
Gua*_*xin 11
JSON.parse()语法非常严格.键/值对应具有以下形式:
string:value
Run Code Online (Sandbox Code Playgroud)
所以"first"和"second"应该是JSON对象中的字符串.将您的JSON更改为以下代码,它应该是正确的
{
"first": 1,
"second": 2
}
Run Code Online (Sandbox Code Playgroud)
您似乎已经在成功回调中使用了jQuery.jQuery还有执行AJAX请求的方法,例如$.ajax渲染AJAX自定义函数非常无用.在您的情况下,您似乎在请求与JSON不同的javascript文件(.js).所以:
(function() {
$.getScript('json.js', function(result) {
// TODO: do something with the result
});
})();
Run Code Online (Sandbox Code Playgroud)
或者如果它是JSON:
(function() {
$.getJSON('json.js', function(result) {
// TODO: do something with the result
});
})();
Run Code Online (Sandbox Code Playgroud)
这就是说你仍然可以继续使用你的方法,但JSON.parse(e)如果你json.js不包含有效的JSON字符串,它将永远失败.要验证它是否包含有效的JSON字符串,您可以在http://jsonlint.com上对其进行验证
| 归档时间: |
|
| 查看次数: |
17370 次 |
| 最近记录: |