关于jquery $ .ajax的问题​​获取值xml文件

时间:2011-03-05 10:36:50

标签: jquery ajax coding-style head

我想使用$ .ajax从xml文件中获取url字符串,然后使用url getted,我将其插入到样式链接中,然后让链接插入<head>,我写这样的代码:

$.ajax({
     type: "get",
     url: "Database/App_all.xml",
     dataType: "html",
     timeout: 2000,
     success: function (xml) {
     var $tid='id-5';
    //alert($tid);
     var $temp_private_css = $(xml).find("app[id='" + $tid + "']").find("css").text();
     if ($temp_private_css.length > 0) {
    //alert($temp_private_css);
     $('head').append('<link href="' + $temp_private_css + '" rel="Stylesheet" type="text/css" />');
         }
     },
     error: function () { }
});

然而,结果是在我的萤火虫中

<link type="text/css" rel="Stylesheet" href="' + $temp_private_css + '">

我使用alert函数查看$ temp_private_css是否获取值,它显示正确如“Database / css / test.css”,它只是无法插入头部

为什么会这样?我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

您需要在文档就绪时调用它,例如:

$(document).ready(function()
{
    $.ajax({
         type: "get",
         url: "Database/App_all.xml",
         dataType: "html",
         timeout: 2000,
         success: function (xml) {
         var $tid='id-5';
        //alert($tid);
         var $temp_private_css = $(xml).find("app[id='" + $tid + "']").find("css").text();
         if ($temp_private_css.length > 0) {
         //alert($temp_private_css);
         $('head').append('<link href="' + $temp_private_css + '" rel="Stylesheet" type="text/css" />');
             }
         },
         error: function () { }
    });
});

因此它将适当的样式表添加到DOM中。希望这会有所帮助。