首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >jQuery:执行同步AJAX请求

jQuery:执行同步AJAX请求
EN

Stack Overflow用户
提问于 2011-07-14 04:31:49
回答 4查看 349K关注 0票数 199

我以前做过一些jQuery,但我完全被困在这里了。我知道使用同步ajax调用的优缺点,但这里需要使用同步ajax调用。

远程页面已加载(由firebug控制),但未显示任何返回。

我应该怎么做才能使我的函数正确返回?

代码语言:javascript
复制
function getRemote() {

    var remote;

    $.ajax({
        type: "GET",
        url: remote_url,
        async: false,
        success : function(data) {
            remote = data;
        }
    });

    return remote;

}
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-07-14 04:35:25

当您发出同步请求时,这应该是

代码语言:javascript
复制
function getRemote() {
    return $.ajax({
        type: "GET",
        url: remote_url,
        async: false
    }).responseText;
}

示例- http://api.jquery.com/jQuery.ajax/#example-3

请注意:将async属性设置为false是不推荐使用的,并且正在被删除(link)。包括Firefox和Chrome在内的许多浏览器已经开始在控制台中打印警告,如果您使用以下命令:

Chrome:

主线程上的

Synchronous XMLHttpRequest已被弃用,因为它会对最终用户的体验造成不利影响。有关更多帮助,请查看https://xhr.spec.whatwg.org/

Firefox:

主线程上的

Synchronous XMLHttpRequest已被弃用,因为它会对最终用户的体验造成不利影响。有关更多帮助,请访问http://xhr.spec.whatwg.org/

票数 316
EN

Stack Overflow用户

发布于 2011-07-14 04:35:36

您错误地使用了ajax函数。因为它是同步的,所以它将像这样返回内联数据:

代码语言:javascript
复制
var remote = $.ajax({
    type: "GET",
    url: remote_url,
    async: false
}).responseText;
票数 34
EN

Stack Overflow用户

发布于 2011-07-14 04:34:22

这个url有多远?是来自同一个域名吗?代码看起来没问题

尝尝这个

代码语言:javascript
复制
$.ajaxSetup({async:false});
$.get(remote_url, function(data) { remote = data; });
// or
remote = $.get(remote_url).responseText;
票数 17
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6685249

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档