您的位置:首页 > Web前端 > JavaScript

遇到问题----- jsp中$.getJSON方法不调用回调函数

2014-12-29 19:07 295 查看
我在jsp页面中使用 $.getJSON方法如下:

$.getJSON("<%=basePath%>/query/showSample?gseId="+gseId+"&lineNum="+lineNum+"&pageNo="+pageNo, function(data) {
alert('a');

});


showSample是我在sturst中配置的action

但是这里的function就是不能进入到 alert 这一步

在浏览器中 判断 action返回的状态是 200,没问题

在网上查询后 都说是 后台返回的格式有问题 返回的数据不是jquery能识别的json

json数据的key必须加引号,否则$.getJSON方法解析不了,就不会调用回调函数

例如:{username:"test"}这样子是不能jquery被转换的,必须用{"username":"test"}.

也就是说 标题和 value都必须带 双引号

如果是自己构造的 json的话 就要用反斜杠 如下:

String value = "{/"results/":[{/"name/":/"Peter pan/",/"to/":/"peter@陈.de/"},"

但是

我这里是 action本身构造的 json

把sturts的配置改成 json后 发现 格式没问题

{"gseId":"GSE42328","lineNum":"12","pageNo":"1","sampleCountString":"第0-12项,共53项","sampleResult":"<table class='gridtable'><tr><th>标准组<\/th><th>对照组<\/th><th>编号<\/th><th>描述<\/th><\/tr><\/table>"}

是带双引号的

这种情况下 其实是我们的strust配置有问题

我这里配置的是 jsp跳转 并不是返回的json格式

<action name="showSample" class="showSampleAction">
<result name="success">/gse.jsp</result>
</action>
这种情况下 返回的不是json

所以 不会进入function函数

需要把配置改成

<action name="showSample" class="showSampleAction">
<result type="json"></result>
</action>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: