2015-06-21 4 views
0

Я пытаюсь загрузить XML-файл в HTML-документ, как показано hereXHR не загружается локальный файл XML

Это мой сценарий:

$(document).ready(function() { 
    $.ajax({ 
    type: "GET", 
    url: "Lemon_Bars.xml", 
    dataType: "xml", 
    success: xmlParser 
    }); 
}); 

function xmlParser(xml) { 
    $(xml).find("ing").each(function() { 
    $("div[data-role='content']").append("<p>" + $(this).find("qty").text() + "</p>"); 
    $("div[data-role='content']").append("<p>" + $(this).find("unit").text() + "</p>"); 
    $("div[data-role='content']").append("<p>" + $(this).find("item").text() + "</p>"); 
    }); 
} 

здесь образец XML:

<?xml version="1.0" encoding="UTF-8"?> 

<recipeml version="0.5"> 
    <recipe> 
    <head> 
     <title>#1 Lemon Bars</title> 
     <categories> 
     <cat>Desserts</cat></categories> 
     <yield>1</yield></head> 
    <ingredients> 
     <ing> 
     <amt> 
      <qty>1 1/2</qty> 
      <unit>cups</unit></amt> 
     <item>All-purpose flour</item></ing> 
     <ing> 
     <amt> 
      <qty>2/3</qty> 
      <unit>cups</unit></amt> 
     <item>Powdered sugar</item></ing> 
     <ing> 
     <amt> 
      <qty>1 1/2</qty> 
      <unit/></amt> 
     <item>Sticks butter; softened</item></ing> 
     <ing> 
     <amt> 
      <qty>3</qty> 
      <unit/></amt> 
     <item>Eggs; lightly beaten</item></ing> 
     <ing> 
     <amt> 
      <qty>1 1/2</qty> 
      <unit>cups</unit></amt> 
     <item>Granulated sugar</item></ing> 
     <ing> 
     <amt> 
      <qty>3</qty> 
      <unit>tablespoons</unit></amt> 
     <item>Flour</item></ing> 
     <ing> 
     <amt> 
      <qty>1/4</qty> 
      <unit>cups</unit></amt> 
     <item>Lemon juice</item></ing> 
     <ing> 
     <amt> 
      <qty/> 
      <unit/></amt> 
     <item>Additional powdered sugar</item></ing></ingredients> 
    <directions> 
     <step> In bowl combine flour, sugar and butter. Pat into 9X13 pan. Bake for 20 
    minutes in a 350F oven. While it is baking, whisk together eggs, 3 TB 
    flour, sugar and lemon juice. Pour over crust while crust is still hot. 
    Bake for an additional 20-25 minutes, or until top is golden brown. Cool on 
    a wire rack and dust with additional powdered sugar. 

    Posted to Bakery-Shoppe Digest V1 #206 by [email protected] (Angela 
    Gilliland) on Aug 29, 1997 

</step></directions></recipe></recipeml> 

и я получаю

XMLHttpRequest гр файл загрузки annot: /// C: /Users/.../Lemon_Bars.xml. Запросы на кросс-начало поддерживаются только для схем протокола: http, data, chrome, chrome-extension, https, chrome-extension-resource.

Я знаю, что я не могу загрузить что-то из другого домена, но почему я не могу получить доступ к документу в той же папке? Я знаю, что могу использовать JSONP, но есть ли способ сделать эту работу, или она действительно устарела (сообщения и учебники 4-6 лет).

Если это действительно не работает, то как правильно это сделать с помощью JSONP?

ответ

0

Решено.

Перекрестные запросы происхождения поддерживаются только для схем протокола: HTTP, данные, хром, хром-расширения, HTTPS, хром-разгибания ресурса.

Я не знал, что это именно имел в виду, но мое предположение было, я должен загрузить файл через HTTP, так что я начал XAMPP и загрузил файл, и он работал.

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