Проблема о jquery $ .ajax получить значение XML-файла - PullRequest
0 голосов
/ 05 марта 2011

Я хочу использовать $ .ajax, чтобы получить строку URL-адреса из xml-файла, затем, получив URL-адрес, вставить его в ссылку стиля, а затем разрешить вставку ссылки в <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 () { }
});

Тем не менее, результат находится в моей firebug

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

Я использую функцию оповещения, чтобы увидеть, является ли значение $ temp_private_css get, он показывает правильно, как "Database / css / test.css", он просто не мог вставить в голову

, почему это произошло? Как я могу решить эту проблему?

1 Ответ

0 голосов
/ 05 марта 2011

Вы должны вызвать это в готовом документе, например:

$(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.Надеюсь, это поможет.

...