Javascript 避免将ajax请求设置为同步的解决方案?

Javascript 避免将ajax请求设置为同步的解决方案?,javascript,asynchronous,prototypejs,synchronous,Javascript,Asynchronous,Prototypejs,Synchronous,你好 我想问一下,除了将ajax请求设置为synchronous之外,是否还有其他解决方法?我正在使用prototype.js,显然我遇到了一个问题,删除我的警报语句(调试目的)会产生意外的输出。然后,我再次放入警报语句,令人惊讶的是,输出再次正常。我在互联网上搜索了一下,发现实际上服务器和客户端之间有一些不完整的任务需要在下一个ajax请求触发/运行之前完成。我试图使特定的ajax请求同步,幸运的是,我得到了预期的结果。但是,我注意到网页的加载速度变慢了,我读过一些文章,认为将ajax请求设置

你好

我想问一下,除了将ajax请求设置为synchronous之外,是否还有其他解决方法?我正在使用prototype.js,显然我遇到了一个问题,删除我的警报语句(调试目的)会产生意外的输出。然后,我再次放入警报语句,令人惊讶的是,输出再次正常。我在互联网上搜索了一下,发现实际上服务器和客户端之间有一些不完整的任务需要在下一个ajax请求触发/运行之前完成。我试图使特定的ajax请求同步,幸运的是,我得到了预期的结果。但是,我注意到网页的加载速度变慢了,我读过一些文章,认为将ajax请求设置为synchronous并不好。这有什么解决办法吗

提前谢谢

您的问题是“如何将ajax请求设置为异步?”
(因为在该请求完成之前,同步请求会停止其他工作)

答案是>>
如果使用$ajax,可以将asynch设置为false,如下所示

$.ajax({
url:some.php,
async:true
})

或者基于XMLHTTPRequest的简单代码

var url=“要调用的url”
var request=new XMLHttpRequest()
打开(“获取”,url,true)


它确实需要对代码进行一些重构,但如果使用纯JS,则需要为Ajax请求的
onreadystatechange
定义回调函数,并从中执行下一步的处理-任何好的Ajax教程都应该解释如何进行。但是,既然您使用的是Prototype,那么您也可以使用库函数来简化它:(看看
onSuccess
回调)。您好,我实际上使用的是onSuccess和onFailure回调。你认为我应该用其他的吗?下面是发生的情况,我需要根据从另一个选择到另一个下拉列表填充一个下拉列表。在这之后,我需要选择一个选项作为“应该填充”下拉列表的默认选项。我认为显示默认选项的设置是徒劳的,因为它在填充列表之前触发。我说得通吗?提前谢谢!填充列表后,在
onSuccess
回调中设置默认值。(对不起,我对Prototype了解不多,我更像是一个jQuery人,但我认为这个概念基本上是一样的)你可以吗?如果能将问题降到最低@nnnnnn hello!很抱歉延迟了反馈!我有点忙。我听从了你的建议,这是正确的!:)非常感谢你。我意识到我的问题有点肤浅哈哈,我想我需要提高我的逻辑技能。再次感谢,如果我再次遇到问题,请再次帮助我:)嗨,你好!感谢您提供这些信息,但我需要的是解决建议,这样我就不会将ajax请求设置为“synchronous”。
$ajax
是jQuery,这个问题是关于原型的。