jquery ajax成功不起作用

jquery ajax成功不起作用,ajax,jquery,cross-domain,jsonp,Ajax,Jquery,Cross Domain,Jsonp,我得到了一个简单的ajax调用,我无法理解为什么它没有运行success方法,尽管chrome开发者工具显示它正在得到请求的响应 $( document ).ready(function() { var url_API="http://moviesapi.herokuapp.com/cinemas/find/"+"PL15RH"; $.ajax({ type: 'GET', url: url_API, dataType: "json

我得到了一个简单的ajax调用,我无法理解为什么它没有运行success方法,尽管chrome开发者工具显示它正在得到请求的响应

$( document ).ready(function() {
    var url_API="http://moviesapi.herokuapp.com/cinemas/find/"+"PL15RH";
    $.ajax({
        type: 'GET',
        url: url_API,
        dataType: "jsonp",
        crossDomain:true,
        success: function (response) {             
            alert(1);
        }

    });
});
试试这个:

    jQuery(document).ready(function($) {
        var url_API="http://moviesapi.herokuapp.com/cinemas/find/"+"PL15RH";
        $.ajax({
           type: 'GET',
           url: url_API,
           dataType: "json",
           crossDomain:true,
           success: function (response) {             
            alert(response);
        }

    });
});
  • API不支持jsonp。您将获得
    500(内部服务器错误)

  • 它确实支持JSON,但您得到的是经典的
    请求的资源上没有“Access Control Allow Origin”头。您需要在heroku API上显式发送
    Access Control Allow Origin
    头:

  • 标题属性:

    Access-Control-Allow-Origin: *
    

    一个更详细的解决方案:

    你确定得到了JSONY的响应吗?你可以通过输入浏览器来检查响应。看起来API不支持jsonp。尝试此url,并将响应更改为其他变量名,也将jsonp更改为json500内部服务器错误显然不是,因为它仍然抛出相同的CORS错误。如果remus是正确的,请检查源代码,您将不会发现存在
    访问控制允许源代码
    标头设置存在。不支持json:检查它转到: