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

发布于 2024-10-20 13:53:54 字数 861 浏览 1 评论 0原文

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

$.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 + '">

我使用警报功能来查看 $temp_private_css 是否获取值,它显示正确的像“Database/css/test.css”,它只是无法插入到头部

为什么这个发生了什么?我该如何解决这个问题?

I want use $.ajax get a url string from a xml file ,then with the url getted,I insert it into a style link ,then let the link insert into the <head>,I write code like this:

$.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 () { }
});

However ,the result is in my firebug

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

I use alert function to see whether the $temp_private_css get value,it shows correct like "Database/css/test.css",it just could't insert into the head

why this happened?How can I solve this problem?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

淡忘如思 2024-10-27 13:53:54

您需要在文档准备好时调用它,例如:

$(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。希望这有帮助。

You need to call that on document ready, like:

$(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 () { }
    });
});

So that it adds the proper stylesheet to the DOM. Hope this helps.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文