3

当我直接在浏览器的地址栏中发布 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> 

所以如果有人知道它的解决方案,请告诉我。

谢谢 puneet

4

2 回答 2

5

您是否尝试执行跨域 AJAX 请求?坏主意,阅读这篇文章http://en.wikipedia.org/wiki/Same_origin_policy

于 2012-10-23T10:50:57.000 回答
0

如果不是同一个域,则需要使用 JSONP(带填充的 JSON)。正如 Bogdan Burim 所说,这是由于同源政策。

jQuery.getJSON可以以一种简单的方式帮助您。它将在您的页面上包含这样的脚本标签。

<script type="text/javascript"
         src="http://example.com/jsonp?callback=parseResponse">
</script>

您还需要更改远程服务器的响应以包含回调变量,如下所示:

parseResponse({"bar": "foo", "foo2": "bar2"});

你也可以看看easyXDM

easyXDM 是一个 Javascript 库,使您作为开发人员能够轻松解决同源策略设置的限制,从而使跨域边界的通信和公开 javascript API 变得容易。

维基百科有一篇关于 JSONP 的好文章。

于 2012-10-23T10:59:43.117 回答