Ale*_*lex 3 xml json jsonp request
我想请求一个远程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>
$(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>
Run Code Online (Sandbox Code Playgroud)
我收到错误:
资源解释为脚本但使用MIME类型text/xml传输:" http://www.w3schools.com/xml/note.xml?callback=jQuery1620008313672617077827_1390902958529&_139902958534 ".jquery.min.js:18 Uncaught SyntaxError:意外的令牌<
任何帮助非常感谢.
您可能正在尝试通过JSONP获取数据以绕过同源策略.
但这也意味着你实际上需要获得JSONP,而不是XML.
但是你不能只改变dataTypeto,xml因为上述政策不允许你这样做.
所以服务器需要支持JSONP输出.
解:
您确实需要制作一些服务器端代码.
您可以创建一个可以通过例如cUrl访问xml的服务器端脚本,并将其转换为jsonp.
例如:
www.yourserver.com/xmltojson.php?url= http://www.w3schools.com/xml/note.xml
这个脚本会将xml转换为json,你可以通过ajax调用来获取它.(因为这个转换是在你自己的服务器上,不需要jsonp,但普通的json会这样做.
编辑:
为您找到了一个教程:http://weedygarden.net/2011/01/consuming-remote-xml-as-jsonp/
| 归档时间: |
|
| 查看次数: |
4023 次 |
| 最近记录: |