关于jquery ajax 同步和异步的一个疑问..

是这样的..ajax的异步请求都不会得到返回值.必须同步,但是比如我想实现一个验证用户名是否可用的功能,需要返回true或false,用同步取值就没问题,但是会影响用户输入吗?同步的执行中用户不能操作,我想知道执行这个时间会不会影响到用户心情- -
如果真的太久,用异步的话我可以实现用户名是否能用?
谢谢大家帮忙..不知道我描述够不够清楚..呵呵
[b]问题补充:[/b]
不是异步才能让用户立刻知道有权限吗?同步需要等待...哎.这机制我还没想得明白,什么时候用异步,什么时候该用同步..

异步和同步其实在这里都可以做。异步虽然不能直接得到返回值。但是有一个回调函数可以使用。具体清参见api。[url]http://docs.jquery.com/Ajax[/url]

这样,当异步操作完成后自动触发回调函数。从你给的场景来看,你的回调函数的功能可能就是在某个div里面显示一下,用户名是否可用。

至于什么时候用异步或者同步,可以从这几方面考虑(都用你提供的场景):
1) 严格按照步骤一步一步的来时候,请用同步。
比如:只有用户名可用,才能输入密码 。。。

2)其他情况,都可以采用异步。

3)当满足2)的时候,但是异步回调却很慢,让用户没法确定,那么建议同步。虽然等待时间长,但是至少可以确定是否可用。
比如:用户所有的输入都已经完成,但是仍然得不到用户名是否可用的提示。

执行时间确定于你服务器处理能力,和执行程序的复杂度.
如果采用异步的话,用户不能立刻知道他是否有权限,如果这时他去访问有权限.他怎么办.我建议还是采用同步.

async (Boolean) : (默认: true) 默认设置下,所有请求均为异步请求。如果需要发送同步请求,请将此选项设置为 false。注意,同步请求将锁住浏览器,用户其它操作必须等待请求完成才可以执行。

使用异步也没有问题的,success属性在获取服务器返回,一样也要等待服务器返回结果,你看淘宝,拍拍,他们的AJAX登录一样也是等待服务器返回.

同步:用户不能做任何操作,只能等待。知道有结果返回。
异步:用户可以做任何操作,结果返回后,自动显示判断结果。

你用什么方式在这里其实都差不多,服务器再烂,也不至于让用户等很久吧。

jquery设置切换异步和同步ajax请求 - 项目实战 - IT工作生活这点事。Just Such So!
http://www.suchso.com/projecteactual/jquery-Setting-ajax-async-true-false-getjson.html