[英]Ajax not working in synchronous manner
我正在使用prototype.js
发出Ajax请求。 一切正常,直到我将asynchronous
更改为false
(因为我想发出同步请求)。 以下是我的代码中的几行内容。
var commOptions = {
contentType: 'text/xml',
method: 'post',
asynchronous: true,
evalJS: false,
evalJSON: false
};
sProxy_Url = sUrl;
new Ajax.Request(sProxy_Url, commOptions);
如果我将asynchronous
更改为false
那么Ajax将无法正常工作。 我有什么想念的吗?
老实说,我看不到有什么问题,我什至在javascript中也得到了响应,以确保:
var commOptions = {
contentType: 'text/xml',
method: 'post',
asynchronous: false,
evalJS: false,
evalJSON: false
};
var a = new Ajax.Request("/", commOptions);
console.log( a.transport.responseText.length ); //16898
几乎总是建议使ajax请求异步,因为使它们同步将阻塞主JavaScript线程,这会带来糟糕的用户体验(请参阅参考资料 )。
但是,如果您真的想使用sync选项,则需要更清楚地了解运行代码时发生的情况-浏览器是否阻塞? 还是函数返回但没有数据?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.