【问题标题】:Jquery Ajax with Spring MVC使用 Spring MVC 的 Jquery Ajax
【发布时间】:2018-08-05 17:03:01
【问题描述】:

我正在从 spring mvc JSP 页面进行 ajax 查询。请求已发出,我能够在浏览器上看到 json 响应。

$.get("${pageContext.request.contextPath}/xxx.htm", {x: y}, function(result){

        $.each(result.objects, function( index, object) {
             $(":checkbox[value="+object.id+"]").attr("checked","true");
             $( "#z" ).append(object.name+" ");
        });
    });

但是,我没有得到上述代码中的数据。即使控制台显示了json数据,也显示如下错误。

jquery.js:12 Uncaught TypeError: Cannot read property 'length' of undefined

at Function.each (jquery.js:12)

at Object.success

但是当我从浏览器复制 json 数据并将其用作源时,我可以执行 $.each()。但是执行$.get(),它会显示上述错误。

有人可以帮我吗?

【问题讨论】:

  • 在 $.each 之前添加 console.log(result) 的输出

标签: jquery json ajax spring-mvc


【解决方案1】:

除非您的服务器响应将内容设置为application/json,否则jQuery 不会在您的成功回调中将其转换为对象。所以你必须在get请求中专门设置内容类型

$.get("${pageContext.request.contextPath}/xxx.htm", {x: y}, function(result){

        $.each(result.objects, function( index, object) {
             $(":checkbox[value="+object.id+"]").attr("checked","true");
             $( "#z" ).append(object.name+" ");
        });

}, 'json');

【讨论】:

    猜你喜欢
    • 2011-03-29
    • 1970-01-01
    • 2015-01-04
    • 2011-12-06
    • 1970-01-01
    • 2013-08-10
    • 2010-12-13
    • 2011-04-28
    • 1970-01-01
    相关资源
    最近更新 更多