Ajax没有获取api数据,但是在浏览器api上正在工作

时间:2018-06-20 19:05:17

标签: jquery json ajax api

我的代码未获得任何输出,请帮助。到目前为止,我的代码:

$.ajax({

    url: "http://cricketapi.herokuapp.com/getMatches",
    crossOrigin: true,
    dataType: "json",

    success: function (data) {
        alert("heyy succes");
    },
    error: function (xhr, textStatus, errorMessage) {
        alert("error");
    }                
});

1 个答案:

答案 0 :(得分:-1)

如果创建了此Restful API,则必须通过添加以下(php)来允许CORS:

<?php
 header("Access-Control-Allow-Origin: *");

请注意,*不是可接受的值,请参阅Mozilla docs来确定最适合您的值。

另一方面,如果您不能修改服务器端,则可以使用JSONP,这是一种处理API的方法,而不必担心跨域问题。 有关更多详细信息,请参见此JSONP Tutorialthis library(J50Npi)还将使您的生活更轻松。


更新

除非与使用者位于同一域上的API或使用者具有访问API的特定权限,否则您将无法轻松使用它。因此,作为一种解决方法,尝试在服务器上创建一个会使用该API的转发器,然后您可以向转发器(位于您自己的服务器上)发出请求。这样,您就可以摆脱COSR问题。

您可以在PHP中检查此repeater example