我试图将XML文件加载到HTML文档中,如here
这是我的剧本:
$(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 novmom@juno.com (Angela
Gilliland) on Aug 29, 1997
</step></directions></recipe></recipeml>
我得到了
XMLHttpRequest无法加载file:/// C:/Users/.../Lemon_Bars.xml。交叉源请求仅支持协议方案:http,数据,chrome,chrome-extension,https,chrome-extension-resource。
我知道我无法从其他域加载某些内容,但为什么我无法访问同一文件夹中的文档?我知道我可以使用JSONP,但有没有办法让这个工作或者它现在真的被弃用了(帖子和教程都是4-6岁)。
如果它真的不再起作用,用JSONP做正确的方法是什么?
答案 0 :(得分:0)
解决。
仅支持协议方案的跨源请求:http,数据,chrome,chrome-extension,https,chrome-extension-resource。
我不知道究竟是什么意思,但我的假设是,我应该通过http加载文件,所以我启动了XAMPP并加载了文件并且它有效。