Xml JSONP意外令牌<;
我想请求一个远程XML文件。我读过JSONP是唯一不用编写服务器端代码就可以做到这一点的方法。我试图使用以下代码请求一个XML文件Xml JSONP意外令牌<;,xml,json,request,jsonp,Xml,Json,Request,Jsonp,我想请求一个远程XML文件。我读过JSONP是唯一不用编写服务器端代码就可以做到这一点的方法。我试图使用以下代码请求一个XML文件 <html> <head> <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script> <script> $(d
<html>
<head>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
<script>
$(document).ready(function(){
$.ajax({
url: 'http://www.w3schools.com/xml/note.xml',
dataType: 'jsonp',
success: function(dataWeGotViaJsonp){
console.log(dataWeGotViaJsonp);
}
});
})
</script>
</head>
<body>
</body>
</html>
$(文档).ready(函数(){
$.ajax({
网址:'http://www.w3schools.com/xml/note.xml',
数据类型:“jsonp”,
成功:函数(dataWeGotViaJsonp){
log(dataWeGotViaJsonp);
}
});
})
我得到一个错误:
解释为脚本但使用MIME类型text/xml传输的资源:“”。jquery.min.js:18
未捕获的语法错误:意外标记<
非常感谢您的帮助。您可能正在尝试通过JSONP获取数据,以绕过同源策略 但这也意味着您实际上需要获取JSONP,而不是XML 但是您不能仅仅将
数据类型
更改为xml
,因为上述政策不允许您这样做
因此服务器需要支持JSONP输出
解决方案:
不过,您确实需要编写一些服务器端代码
您可以创建一个服务器端脚本,例如通过cUrl访问xml,并将其转换为jsonp
例如:
www.yourserver.com/xmltojson.php?url=
此脚本将xml转换为json,您只需通过ajax调用即可获得它。(因为此转换是在您自己的服务器上进行的,所以不需要jsonp,但可以使用常规json
编辑:
为您找到了一个教程: