当我直接在浏览器的地址栏中发布ajax url时,我正在使用ajax从我的远程服务器检索数据,我正在获取数据但是当我在javascript文件中对该URL进行ajax调用时,它是显示错误。我在这里粘贴我的代码。
<!DOCTYPE html>
<html>
<head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script>
$.ajax({
url:"http://www.appitechture.com/api/index.php?action=getContactDetails&id=96",
type:'get',
datatype:'json',
success:function OnSuccess(data , status){
alert(data);
} ,
error: function OnError(request , status , error){
alert('error');
}
});
</script>
</head>
<body>
<div id="images"></div>
</body>
</html>
所以,如果有人知道它的解决方案,请告诉我。
感谢的 普尼特
答案 0 :(得分:5)
您是否尝试执行跨域AJAX请求?不好的主意,请阅读这篇文章http://en.wikipedia.org/wiki/Same_origin_policy
答案 1 :(得分:0)
如果它不是同一个域,则需要使用JSONP(带填充的JSON)。这与Bogdan Burim所说的Same Orgin政策有关。
jQuery.getJSON可以轻松地帮助您解决这个问题。它将在您的页面上包含这样的脚本标记。
<script type="text/javascript"
src="http://example.com/jsonp?callback=parseResponse">
</script>
您还需要更改远程服务器的响应以包含回调变量,如下所示:
parseResponse({"bar": "foo", "foo2": "bar2"});
您还可以查看easyXDM:
easyXDM是一个Javascript库,可以让您作为开发人员使用 轻松解决同源的限制 策略反过来又很容易沟通和公开javascript API跨域边界。