我需要使用$ .ajax或$ .get来获取xml文件的获取响应。 问题是$ .ajax或$ .get函数似乎没有从远程服务器中的文件获得响应。它显然只适用于本地文件。我正在从本地服务器开发网站,所以我的serverhost就像127.0.0.1/。有谁知道这个问题?或者,无论如何我可以调试这个问题吗?我想我已经阅读过浏览器不允许跨站点-ajax调用的地方..但是......如何才能进行远程主机调用?
<script>
$(document).ready(function(){
$.ajax({
url: "<?=$request_url?>",
data: "<?=$data?>",
success: function(msg){
alert( "Data Saved: " + msg );
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
$("#output").append(XMLHttpRequest.responseText + "<br />TextStatus: " + textStatus + "<br />ErrorThrown: " + errorThrown);
}
})
});
</script>
答案 0 :(得分:3)
答案 1 :(得分:1)
是的,这是正确的,因为您无法使用这些方法访问其他域上的内容。这是一个跨域脚本安全问题。
看一下与jQuery和Javascript相关的XSS。
答案 2 :(得分:1)
由于安全限制,浏览器不允许跨域ajax调用
但野外还有一些变通方法。 试试这些
http://james.padolsey.com/javascript/cross-domain-requests-with-jquery/
http://usejquery.com/posts/9/the-jquery-cross-domain-ajax-guide
答案 3 :(得分:0)
幸运的是,由于跨域策略,您不能。但是,您可以通过$.ajax
调用调用服务器端脚本,然后调用远程站点脚本。