这是初始代码:
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}}保持所需的值?
答案 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 }