当前位置: 首页 > 面试题库 >

从JQuery.ajax成功数据解析JSON

林曦之
2023-03-14
问题内容

我无法从JQery.ajax调用获取JSON对象的内容。我的电话:

$('#Search').click(function () {
    var query = $('#query').valueOf();
    $.ajax({
        url: '/Products/Search',
        type: "POST",
        data: query,
        dataType: 'application/json; charset=utf-8',
        success: function (data) {
            alert(data);
            for (var x = 0; x < data.length; x++) {
                content = data[x].Id;
                content += "<br>";
                content += data[x].Name;
                content += "<br>";
                $(content).appendTo("#ProductList");
               // updateListing(data[x]);
            }
        }
    });
});

似乎正确返回了JSON对象,因为“ alert(data)”显示以下内容

[{"Id": "1", "Name": "Shirt"}, {"Id": "2", "Name":"Pants"}]

但是当我尝试使用以下方法在页面上显示ID或名称时:

content = data[x].Id;
content += "<br>";
content += data[x].Name;
content += "<br>";

它将“未定义”返回到页面。我究竟做错了什么?

谢谢您的帮助。


问题答案:

数据以JSON的字符串表示形式返回,您无需将其转换回JavaScript对象。将设置dataType为仅'json'使其自动转换。



 类似资料:
  • 问题内容: 我有一个JavaScript Ajax调用(jQuery.ajax),它不执行成功回调函数。 我在firebug中看到,该请求已发布,并且按预期返回了有关json的正确结果。怎么了? 问题答案: 很多次,我都遇到过类似的问题,大多数时候,原因是json格式错误。尝试以文本数据类型获取结果,看看这是否是您的问题。 另外,我想问一下您是否使用了“&jsoncallback =?”之类的参数

  • 问题内容: 当我尝试从http://api-v3.deezer.com/1.0/search/album/?q=beethoven&index=2&nb_items=2&output=json使用以下方法获取JSON 时: 我得到: 但是使用http://search.twitter.com/search.json?q=beethoven&callback=?&count=5的JSON 可以正常工

  • 问题内容: 今天,我听说jQuery.ajax函数中的success-Parameter已过时。我理解正确吗?还是我误会了什么? 例如,将来将无法使用: 我必须使用这个吗? 来源:http : //api.jquery.com/jQuery.ajax/(向下滚动至“ 弃用通知” ) 问题答案: Ajax成功 回调方法 之间是有区别的: 和Ajax成功 本地回调事件 (即Ajax参数和属性): 不建

  • 我从PHP页面收到一个Json输出,如下所示 null null 我如何循环结果,这样我就可以访问每个元素了?我已经尝试了类似下面的东西,但这似乎不起作用。 null null

  • 我正在通过自定义语法处理输入文件,提取标记,并在中返回它们。在ANTLR 3中,我能够通过调用解析器上的方法来解析文件,并获得类似于。 这在ANTLR 4中似乎不起作用。我参考了这本书,似乎我必须调用开始解析,但我在解析器中没有看到任何方法。 我使用ANTLRWorks 2生成我的词法分析器和解析器文件。我没有生成侦听器类。

  • 问题内容: 我已经使用jQuery和AJAX几周了,并且在调用完成后,我看到了两种“继续”脚本的不同方式:和。 从jQuery文档的提要中,我们得到: .done():说明:添加要解析Deferred对象时要调用的处理程序。 成功:(。ajax()选项):如果请求成功,则要调用的函数。 因此,在AJAX调用完成/解决之后,两者都要做一些事情。我可以随机使用其中之一吗?有什么区别?何时使用一种替代另