通过jquery ajax返回的JSON数据上的意外令牌u
Unexpected token u on my JSON data returned through jquery ajax
我正在尝试显示返回给我的数据
console.log(数据)显示:
{"Data":[[true,true,false],null]}
这些数据最终是3个复选框的值。
我不知道如何解决为什么我得到
Uncaught SyntaxError: Unexpected token u
我猜u = undefined。我可以,我需要一个POST代替?我已经尝试过不让contentType注释。
显然我有DATA回来是$parseJSON(DATA .d)一个问题吗?
$(document).ready(function () {
jQuery.support.cors = true;
$.ajax({
url: '/GetCheckBox/3521',
type: 'GET',
dataType: 'json',
data: {},
//contentType: "application/json; charset=utf-8",
success: function (data) {
//alert(data);
console.log(data);
//WriteResponses(data);
var objdata = $.parseJSON(data.d);
WriteResponses(objdata);
},
error: function (x, y, z) {
alert(x + ''n' + y + ''n' + z);
}
});
//Displays in a Table
function WriteResponses(allNews) {
alert(allNews);
var strResult = "<table><th>Name</th><th>Student ID</th><th>Gender</th><th>Age</th>";
$.each(allNews, function (index, news) {
strResult += "<tr><td>" + news.StormOut + "</td><td> " + news.StormOut + "</td><td>" + news.StormOut + "</td><td>" + news.StormOut + "</td></tr>";
});
strResult += "</table>";
$("#divResult").html(strResult);
}
});
如果console.log(data);
显示
{"Data":[[true,true,false],null]}
则data
是字符串(见下文可能的原因)。为什么要解析 data.d
?字符串没有属性d
。data.d
返回undefined
, $.parseJSON(undefined)
抛出你得到的错误。
用$.parseJSON(data)
代替。
仅供参考,Ben到目前为止是正确的,设置dataType: json
使jQuery自动解析你的JSON。然而,给定console.log
输出,您的数据似乎是双编码的。即数据首先转换为JSON,结果再次编码为JSON。
这当然是错的。您应该确保数据只编码一次,然后删除$.parseJSON
调用。
您实际上不需要$.parseJSON
。jQuery自动将其解析为JSON,因为您指定了JSON作为数据类型(dataType: json,
)。
正如您在控制台日志中看到的那样,"Data"
的值作为数组返回-实际上,是JavaScript数组,而不是JSON,它将被引号包围,它是JSON字符串。
所以,把这行改成:
var objData = data["Data"];
它应该可以正常工作:)
更多信息参见jQuery文档:http://api.jquery.com/jQuery.getJSON/
相关文章:
- React JS:未捕获(在承诺中)语法错误:在位置 0 的 JSON 中意外<令牌
- jQuery$.getJSON抛出意外令牌
- 为什么我在下面的..of循环中得到意外令牌
- 组件中的ReactJS意外令牌
- AngularJS $http GET 请求到本地 JSON 文件返回语法错误:意外令牌]
- 巴别塔,意外令牌 (15:33) ::.
- Sencha 2.0 和 Codeigniter RESTful API 生成未捕获的语法错误:意外令牌:
- 在事件上使用 jquery 时出现意外令牌
- JSON 中位置 4 处的意外令牌<
- 意外令牌 ) 在我的代码中
- Electron 和 Babel 6 异步/等待抛出意外令牌
- “JSON.parse(str)”返回“意外令牌c”,但str是一个字符串
- jQuery after() uncatch SyntaxError: 意外令牌 ILLEGAL
- 使用节点javascript的意外令牌ILLEGAL
- Javascript/JQuery-Chrome意外令牌
- Ajax 帖子未捕获语法错误:意外令牌非法
- angularjs-SyntaxError:请求从服务器返回时出现意外令牌
- jquery:使用ember的意外令牌C
- React本机项目中的意外令牌
- 解析有效的 JSON 得到“语法错误:意外令牌非法”