2010-09-13 2 views
2

Я использую jQuery.ajax для анализа некоторого xml из файла. Все работает отлично в IE (6,7,8), Firefox, Opera и Safari, но не работает с Google Chrome. Вот код:jQuery XML Parse (с Ajax) не работает в Chrome (но работает в IE, FF, Opera, Safari)

/* ... */ 
this.loadXml = function() 
{ 
$.ajax(
{ 
    type: "GET", 
    url: "some_file.xml", 
    dataType: ($.browser.msie) ? "text" : "xml", 
    success: function(xml) 
    { 
    if($.browser.msie) 
    { 
    var xmlDoc = new ActiveXObject("Microsoft.XMLDOM"); 
    xmlDoc.loadXML(xml); 
    xml = xmlDoc; 
    } 

    /* parsing starts here */ 
    /* for example: in the document I have a div tag with id "some text" and the xml file contains: <root><tag>test</tag></root>*/ 

    $("#some_id").text($(xml).find("root > tag").text()); 

    /* parsing ends here */ 

    } 
}); 
} 

ответ

2

Хром не позволит вам получить доступ к локальному файлу. Это (несколько спорная) вещь безопасности. Вы можете начать хром из командной строки с флагом, чтобы заставить его разрешить доступ, однако:

google-chrome --allow-file-access-from-files 

(. Моя благодарность за это снова @Nick Craver, человек бесконечного знания)

редактировать — вот вопрос, который я спросил: Accessing relative URL's via "ajax" from "file://" content

+0

Да ... это, кажется, проблема ... Спасибо за быстрый ответ! –

-1

просто заменить короткий URL с полным URL ...

из

URL: "some_file.xml",

в

URL: "http://www.domain.com/some_file.xml",

+0

Как это работает при загрузке файла LOCAL .xml? (из-за чего возникает проблема) – whispers

Смежные вопросы