跨域Jquery AJax jsonp

时间:2013-04-12 07:27:58

标签: jquery cross-domain

我正在构建应用程序和服务器(不幸的是在不同的域上)

在我的应用程序上:

$.ajax({
  url: BASE_URL + "api/create",
  type: "get",
  async: false, // why do I need this
  dataType: "jsonp",
  data: {
    "auth_token": "cBQHASwKszsW4e75unK6"
  }, 
  error: function(error) {
    alert(JSON.stringify(error));
  },
  success: function(data) {
    alert(data);
  }
});

我知道服务器正在返回(当我在浏览器中访问它时):

jQuery1910041686943266540766_1365730282085({"error":"User does not exist","status":400})

(这是正确的数据)

但是,ajax请求失败并列为“失败”状态并键入“待定”

我不确定这里发生了什么


我也尝试过:

 $.getJSON(BASE_URL + "api/create?auth_token=cBQHASwKszsW4e75unK6&callback=?", function(data) {
   alert(JSON.stringify(data));
 });

也失败了

1 个答案:

答案 0 :(得分:-1)

为此,您需要创建一个代理页面。 例如:proxy.php

调用请求直接通过ajax调用proxy.php

让我们知道它适用于你。

步骤: 1.创建一个新页面proxy.php 2.使用CURL或File_get_contents从外部URL获取数据。 3.通过ajax代替跨域URL调用proxy.php。