jQuery的阿贾克斯获得结果 [英] jquery ajax get result

查看:108
本文介绍了jQuery的阿贾克斯获得结果的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

下面是初始code:

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

我需要,或Ajax调用后,就在我的code使用 RES 在一些点。我想这样的:

I need to use res at some point in my code, or right after the ajax call. I tried this:

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调用后按住所需的价值呢?

How is it possible to use res to hold the desired value after the ajax call?

推荐答案

您code,使异步Ajax请求,而第二个警报同步执行。这意味着,(按顺序)第二警报执行时的响应可能不可用。

Your code makes an asynchronous ajax request while the second alert executes synchronously. This means that a response may not be available when the (sequentially) second alert executes.

尝试把这个你的 $交背后电话: $ ajaxSetup({异步:假})

Try putting this behind your $.post call: $.ajaxSetup({async:false}).

这将迫使警告射击,因为它们出现在你的code的顺序。如果一个异步调用是你想要做什么,那么我建议你遵循的Sudhir的意见。

It will force the alerts to fire in the order that they appear in your code. If an async call is what you want to make, then I suggest you follow Sudhir’s advice.

这篇关于jQuery的阿贾克斯获得结果的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆