我确定它很简单,但我似乎无法在AJAX请求中设置变量数据..
我的servlet返回一个数字数组;
int[] array = {1,2,4,5,3,5,3,5};
response.setContentType("application/json");
response.setCharacterEncoding("UTF-8");
response.getWriter().write(new Gson().toJson(array));
数据传递给jquery,我试图将json数据存储为jquery数组;
var test2 = [];
$.post("servlet", { info: data},
function(data) {
alert(data); // this alerts what i want stored...
test2.push(3); // testing if i can add 3 to test FAILS
});
test2.push(9); //this works
test2.push(9); //this works
options.series[0].data = test2;
为什么我不能通过ajax调用将数字推送到测试中?
我想要的最终结果是将options.series [0] .data设置为等于servlet返回的数据数组
答案 0 :(得分:1)
你是如何决定推动“失败”的?请注意,3
将在9
之后添加,因为您的AJAX请求是异步的。
var test2 = [];
$.post("servlet", { info: data},
function(data) {
alert(data); // this alerts what i want stored...
test2.push(3); // testing if i can add 3 to test FAILS
alert(test2)
});
答案 1 :(得分:-1)
为什么不像以下那样在AJAX中设置变量:
function(data){
options.series[0].data=data;
}
但是,由于功能的原因,我还建议使用实际的$.ajax
对象。
答案 2 :(得分:-2)
尝试使用完整的ajax()函数,使用async:false。
var test2 = [];
$.ajax({
url: "servlet",
async: false,
type: "post",
data: { info: data},
success: function(data) {
alert(data); // this alerts what i want stored...
test2.push(3); // testing if i can add 3 to test FAILS
});
});
编辑:删除了错误的陈述。