Jquery关于ajax中无法在success中获取返回值的问题

来源:互联网 发布:vpn 淘宝 编辑:程序博客网 时间:2024/05/16 19:14

Ajax代码如下:

$.ajax({     //async: false,               url: "${ctx }/dyreport/getConclusion-"+id,               tyep:"get",               dataType: "json",               success: function(data) {               alert(data.conclusion);               $("#reportdynamic.conclusion").val("123");               }           });


1.问题,Ajax success中的代码未执行

解决办法:

(1)可能是ajax调后台的时候后台报错了,这种情况跟踪一下ajax的请求即可。

(2)如果还是不行,那可以将错误打印一下:

Ajax改成:

$.ajax({ //async: false,               url: "${ctx }/dyreport/getConclusion-"+id,               tyep:"get",               dataType: "json",               success: function(data) {               alert(data.conclusion);               $("#reportdynamic.conclusion").val("123");               },               error:function(XMLHttpRequest, textStatus, errorThrown) {               alert(XMLHttpRequest.status);               alert(XMLHttpRequest.readyState);               alert(textStatus);               }           });

添加errror信息

2.错误提示pasererror

查看ajax的格式,为ajax,再查看返回的json为:

{'test':'123'}

经排查发现,该jar的json格式必须是

{"test":"123"}

java String类为:"{\"test\":\"123\"}"


3.关于success中如何获取返回的值

<span style="font-size:18px;color:#333333;">success: function(data) {               alert(data.conclusion);               $("#reportdynamic.conclusion").val("123");               }</span>
success后跟的方法即为成功时调用的方法,入参data为ajax返回的结果,名称可以随便取,对于上面的json,取值逻辑为:data.test 直接根据json取即可

4.Json中带\r\n换行符的问题,这种情况由于无法识别json也会报pasererror

解决办法:对\做转义,即:原来json:"{\"conclusion\":\"戴机时长:19时37分,有效时长:19时37分\r\n基本心律\"}"

变成"{\"conclusion\":\"戴机时长:19时37分,有效时长:19时37分\\r\\n基本心律\"}"


0 0
原创粉丝点击