Javascript 为什么在jquery中成功调用ajax后不加载此函数?
我用的是上个月用过的,但现在不行了。我已经复制了下面的相关代码Javascript 为什么在jquery中成功调用ajax后不加载此函数?,javascript,jquery,Javascript,Jquery,我用的是上个月用过的,但现在不行了。我已经复制了下面的相关代码 $(document).ready(function () { $.ajax({ type: "GET", url: "http://papermashup.com/demos/jquery-xml/books.xml", dataType: "xml", success: xmlParser }); alert("123"); }); fun
$(document).ready(function () {
$.ajax({
type: "GET",
url: "http://papermashup.com/demos/jquery-xml/books.xml",
dataType: "xml",
success: xmlParser
});
alert("123");
});
function xmlParser(xml) {
alert("456");
$('#load').fadeOut();
$(xml).find("Book").each(function () {
$(".main").append('<div class="book"><div class="title">' + $(this).find("Title").text() + '</div><div class="description">' + $(this).find("Description").text() + '</div><div class="date">Published ' + $(this).find("Date").text() + '</div></div>');
$(".book").fadeIn(1000);
});
}
问题是在成功的ajax请求之后没有调用xmlParser函数。它显示123警报,但不是456警报。我做错了什么,还是教程做错了
我在这里包括了一个相关的JSFIDLE
为什么在jquery中成功调用ajax后不加载此函数
是的
从JavaScript错误控制台:
无法加载XMLHttpRequesthttp://papermashup.com/demos/jquery-xml/books.xml. 请求的资源上不存在“Access Control Allow Origin”标头。起源'http://fiddle.jshell.net因此,不允许访问
您的请求没有成功,至少在Ajax术语中是这样,严格来说是HTTP术语,但是您请求数据的站点没有授予浏览器从JSFIDLE向JavaScript提供数据的权限
为什么在jquery中成功调用ajax后不加载此函数
是的
从JavaScript错误控制台:
无法加载XMLHttpRequesthttp://papermashup.com/demos/jquery-xml/books.xml. 请求的资源上不存在“Access Control Allow Origin”标头。起源'http://fiddle.jshell.net因此,不允许访问
您的请求不成功,至少在Ajax术语中是这样,严格来说是HTTP术语,但是您请求数据的站点没有授予浏览器从JSFIDLE向JavaScript提供数据的权限。修复。JSFIDLE没有这个功能,如果它不是如Royi所说的打字错误,那么您似乎面临跨域请求问题。您是否将xml文件保留在同一个域上?是的,我将文件保留在同一个域上,但仍然无法正常工作。已修复。JSFIDLE没有这个功能,如果它不是如Royi所说的打字错误,那么您似乎面临跨域请求问题。您是否将xml文件保留在同一个域上?是的,我将该文件保留在同一个域上,但仍然无法正常工作。但是,当我在本地调用xml文件时,没有出现CORS错误,而且仍然无法正常工作。@desbest-我只是复制了JSFiddle,将URL更改为books.xml,将books.xml更改为本地文件,运行了本地HTTP服务器,并对其进行了测试。工作正常。如果是同一个域,请使用GET请求中的相对路径。@HenriS。绝对或相对两者都有效,没有理由推荐相对…在许多项目中,如果在多个嵌套目录中运行相同的代码,相对将无法看到我的注释,但在本地调用xml文件时,我没有收到CORS错误,但它仍然不起作用。@desbest-我只是复制了JSFIDLE,将URL更改为books.xml和books.xml,并将其更改为本地文件,运行了一个本地HTTP服务器,并对其进行了测试。工作正常。如果是同一个域,请使用GET请求中的相对路径。@HenriS。绝对或相对两者都有效,没有理由推荐相对…在许多项目中,如果在多个嵌套目录中运行相同的代码,相对将无法看到我的评论