【发布时间】:2013-10-22 10:37:59
【问题描述】:
我想通过 jquery 的 ajax 调用从 grails 操作接收一些数据。
到目前为止,我使用 ajax 调用只是为了接收一些字符串,但现在我想接收一些列表(许多列表)。
这是我的行动
def getSpecificData() {
**some code here**
render (list:[10,20,30,40],list2:[20,30,40]);
}
我的 jquery 调用:
jQuery.ajax({
type: 'POST',
url: graphUrl,
data: "xaxis="+$(this).val(),
async: true,
success: function(response,textStatus){
console.log(response);
},
error:function(XMLHttpRequest,textStatus,errorThrown){}
});
控制台日志为['list':[10, 20, 30, 40], 'list2':[20, 30, 40]]
它基本上只是一个字符串,但我想要两个列表作为响应,这可能吗?
我想要那些 list1 和 list2 作为响应数据。有什么办法吗?
我想我可以从列表(两个列表的 2 个元素)中创建一个 json,然后将 json 字符串转换为数组。
但这看起来很乱,所以有人有更好的主意吗?
【问题讨论】:
-
您的控制台显示什么?你得到你期望的 JSON 了吗?
-
您是否尝试将 2 个列表合并为 1 个?或者……你的问题不清楚
-
@nute a 添加了控制台日志
-
XMLHttpRequests 仅限于字符串,但如果设置了 dataType 和正确的标头,jQuery 会将接收到的字符串转换为对象或数组。我会更担心同步执行 Asynchronous Javascript 和 XML!
-
嗯,关键是你不能真正传输一个数组或对象,它都是字符串,然后 jQuery 在猜测字符串到底是什么之后在内部进行转换,它会基于猜测关于 dataType 和接收到的标头,在 $.ajax 的文档中都有很好的解释,这与自己在返回的字符串上调用 JSON.parse 真的没有什么不同。