jquery ajax获得结果

时间:2011-12-26 05:03:23

标签: jquery ajax

这是初始代码:

var res = null;
$.post('test.php', 'q=testdata', function(response) {
   res = response;
});

我需要在代码中的某个位置使用res,或者在ajax调用之后立即使用var res = null; $.post('test.php', 'q=testdata', function(response) { res = response; alert('Note 1: '+res); /* Returned exactly what I wanted */ }); alert('Note 2: '+res); /* Returned null. I need to use res here. How? */ 。我试过这个:

res

如何在ajax调用后使用{{1}}保持所需的值?

2 个答案:

答案 0 :(得分:2)

您的代码会在第二个警报同步执行时发出异步Ajax请求。这意味着当(顺序)第二个警报执行时,响应可能不可用。

尝试将此信息置于$.post电话后面:$.ajaxSetup({async:false})

它将强制警报按照它们出现在您的代码中的顺序触发。如果您想要进行异步通话,那么我建议您遵循Sudhir的建议。

答案 1 :(得分:1)

这种类似的东西会帮助你:

var res = null;
$.post('test.php', 'q=testdata', function(response) {
   res = response;
   doSomething(res);
});

function doSomething(respo) {
  //do someting with response
}