首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JQuery - $.ajax -火狐10超前运行

JQuery - $.ajax -火狐10超前运行
EN

Stack Overflow用户
提问于 2012-02-28 20:58:29
回答 1查看 299关注 0票数 0

我有一个简单的XML调用来填充$.ajax元素。它在IE9中运行良好,"error:“子句在两个浏览器中都运行良好。在"success:“的情况下,IE9在A:点礼貌地等待"success:”子句完成。热切的海狸FF 10就像一个单独的线程,在"design_xml“变量启动并运行之前返回到调用"doPopulate()”函数,因此无法加载design_xml元素。

但是,如果我让它等待最后一行中的window.alert,那么它就可以正常工作-显然是提供了一个暂停,让$.ajax调用跟上。现在我不想这里只有一个警告,所以我尝试了各种延迟-循环-超时,for-循环等-但它们都不起作用。有人能告诉我这里发生了什么吗?

URL是本地机器。Windows Vista。

代码语言:javascript
复制
var design_xml = null; //Global variable to hold design XML
var template_url = "Docs_and_notes/Design_template_02.xml";  //Template URL (temp loc.)
var template_urlzz = "Docs_and_notes/zzDesign_template_02.xml";  // Duff template URL for testing

function getDefaults() {
    $.ajax({
    type: "POST",
    url: template_url,
    timeout: 5000, // 5 seconds or go home
    success: function(xml) {
console.log("Succeed");
        design_xml = xml; xml = null;  //Make XML global, kill original 
    },
    error: function(request, status, err) { //Catch misfires
console.log("Fail");        
        window.alert("Error 001: Design template not loaded. Status: " + status + " err:" + err);   
    }
//Point A:      
    //window.alert("Final line");   
    }); 

function doPopulate() {
    getDefaults();
    $("#fn").text($('filename', design_xml).text());
}

XML:

代码语言:javascript
复制
<filename default="untitled">gaberlunzie</filename>

HTML:

代码语言:javascript
复制
<body>
    <button onclick="doPopulate()"></button>
    <div>
        <span id="fn">Filename</span>
    </div>
</body>
EN

回答 1

Stack Overflow用户

发布于 2012-02-28 21:01:38

在设置design_xml之后,$("#fn").text($('filename', design_xml).text());行应该在success参数中。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9482360

复制
相关文章

相似问题

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