我使用以下代码:
function getXml(username)
{
$.ajax({
type:"GET",
dataType:"jsonp",
url: "http://76.222.193.173:8080/vvmfb/users/"+username,
success: function(jsonp)
{
//alert(jsonp);
}
});
}
getXml('farhana');
但它给了我这个错误信息:
XML can't be the whole program
http://76.222.193.173:8080/vvmfb/users/farhana?callback=jQuery17108919437211861222_1326137662617&_=1326137662621
</user>
Line 12
可以在以下位置看到XML文件: http://76.222.193.173:8080/vvmfb/users/farhana
任何想法,为什么会发生这种情况? 任何帮助将受到高度赞赏。谢谢!
答案 0 :(得分:2)
问题是您正在尝试使用期望JSONP的Ajax调用来接收XML。
您必须决定是否接收XML或JSONP。如果它是您打算接收的XML,那么您将不得不更改您的Ajax调用,以便期望XML作为结果。
由于您将IP,端口和整个shebang指定为URL,我猜您打算执行跨站点请求,如果这是您指定JSONP的目的,那么您无法从服务器返回XML。由于Same Origin Policy。
,不允许XML进行跨网站请求答案 1 :(得分:2)
JSONP 必须提供一大块数据,这些数据将被<script>
标记解释为Javascript。它的工作原理是利用浏览器安全模型中的弱点,允许<script>
标记从任何域加载脚本,而不进行任何跨域安全检查。
XML不是那样。