我想使用Jquery autocomplete在我的网络应用程序中但遇到问题。我正在使用 ASP.NET 和 JQuery 开发我的应用程序。
这是 Autocopmlete 'succes' 函数的一部分:
success: function (data) {
response($.map(data.d, function (item) {
return {
label: item.key,
value: item.value
}
}));
},
我的网络服务返回以下 JSON:
"[{"key":"Bread","value":"3"}]"
当我运行它时,我收到 Javascript 错误:
Uncaught TypeError: Cannot use 'in' operator to search for '42' in [{"key":"bread","value":"3"}]
据我所知,返回的 JSON 格式对于 $.map 函数来说似乎不正确。此外,结果可能会返回多项,而不仅仅是上面看到的一项。
谁能帮我解决这个问题。
我在 Ajax 调用中使用 JSON
作为 dataType
和 GET
作为 type
。
最佳答案
我只是建议您不要使用任何其他可以使用的方法:
success: function (data, status, xhr) {
var jsonArray = JSON.parse(data); // Normal way
}
其他方式
success: function (data, status, xhr) {
var jsonArray = $.parseJSON(data); // using jQuery
}
通过这种方式,它将被转换为一个简单的 JavaScript 对象,您可以轻松地在 UI/DOM 上操作它。
关于Jquery Autocomplete JSON字符串解析错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14363444/