Jquery Autocomplete JSON字符串解析错误

标签 jquery asp.net jquery-ui jquery-ui-autocomplete

我想使用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 作为 dataTypeGET 作为 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/

相关文章:

javascript - 显示新行中现有项目的表行中的值

javascript - JQuery 删除点击事件

javascript - jQuery datepicker onChangeMonthYear 事件未触发

javascript - 在 jQuery 数据表中添加指向 Ajax 源数据的链接

javascript - DOM如何获取Knockout JS值

javascript - 使用 Angular 将 <td> onclick 的值获取到同一行的另一个 <td>

javascript - 将“”等特殊 HTML 字符代码转换为普通字符

JavaScript AngularJS 在 HTML 中调用函数

c# - Web 配置文件中的 Windows 模拟代码错误

javascript - 将 jquery ui slider 值写入数据库