【问题标题】:Loading xml file using ajax shows undefined [closed]使用ajax加载xml文件显示未定义[关闭]
【发布时间】:2012-12-06 11:02:52
【问题描述】:

尝试使用 ajax 从 xml 文件加载内容时,它显示“undefined”onload。只要我刷新页面,就会显示内容。

这是我的代码

$.ajax({
        type: "GET",
        url: "xml/FIB.xml",
        dataType: "xml",
        success: function(xml){
            var titletext=$(xml).find('Quiz').children().attr("name");
            $(".title_text").append(titletext);
            $(xml).find('question').each(function(){
                     nooffib=$(this).find("ques").length;

                        for(var a=0;a<nooffib;a++){
                        n=$(this).find('ques').eq(a).text();
                        questionarray[a]=n.replace("[blank]","<input id='"+a+"'type='text' class='blanktextbox' onkeyup='btnvisible()'/>");

                    }
            })
        }
    });     

【问题讨论】:

  • 您能否提供您使用的示例代码?
  • 你为什么不直接用代码编辑你的答案?

标签: javascript jquery html xml ajax


【解决方案1】:

你做得对。但是您提供的网址不正确。通过更改 url 来解决问题。

【讨论】:

  • Rohit URL 是正确的,它在我的服务器上工作正常。
  • 您似乎没有理解这个问题。 url 对用户来说是主观的,而不是任何人都可以在没有看到实际代码和 xml 位置的情况下感知的全局参数。
【解决方案2】:

也许 undefined 意味着当你进行 ajax 调用时,你所引用的 dom 元素还没有被创建,在你刷新之后,元素“#your_selector”将会被创建。尝试在文档准备好或某个事件之后执行,例如单击按钮,换句话说,在进行 ajax 调用之前检查是否已创建 #your_selector:

$("#your_selector").on("click", function(event){
//execute your ajax call
});

$("#your_selector").live("click", function(){
    //execute your ajax call
 });

 $(document).ready(function() {
      //execute your ajax call
 });

一个完整的例子是:

function test(){
    $.ajax({
    type: "GET",
    url: "xml/FIB.xml",
    dataType: "xml",
    success: function(xml){
        var titletext=$(xml).find('Quiz').children().attr("name");
        $(".title_text").append(titletext);
        $(xml).find('question').each(function(){
                 nooffib=$(this).find("ques").length;

                    for(var a=0;a<nooffib;a++){
                    n=$(this).find('ques').eq(a).text();
                    questionarray[a]=n.replace("[blank]","<input id='"+a+"'type='text' class='blanktextbox' onkeyup='btnvisible()'/>");

                }
        })
    }
}); 
}

 $("#your_selector").live("click", function(){
    test();
 });

【讨论】:

    猜你喜欢
    • 2017-03-15
    • 1970-01-01
    • 2013-02-10
    • 1970-01-01
    • 2014-03-02
    • 1970-01-01
    • 1970-01-01
    • 2018-05-10
    • 2021-04-17
    相关资源
    最近更新 更多