JSONP ajax调用执行错误方法,其响应为200 ok

时间:2016-06-21 09:38:11

标签: javascript jquery ajax

这是我的api调用它的响应是200 OK但它没有进入成功方法我不知道我在哪里做错了。我在服务器端启用了CORS。

$( document ).ready(function() {
 $.ajax({

  url: 'https://localhost:44300/api/apim/{{Product.Id}}/'+email+'/',
  dataType: 'jsonp',
  success: function(data) {
   alert("success");
    if(data===true){

        $('#subscribe').prop('disabled', true);
        $('#subscribe').text('Is Pending');
    }
    else 
    {

    }
  },
  error: function(err)
  {
  alert("Error");

  },
  type: 'GET'
 });
});

图像

enter image description here

1 个答案:

答案 0 :(得分:1)

您说dataType: 'jsonp',但服务器说content-type: application/json

JSONP是application/javascript,因为它不是JSON(在我们使用CORS之前,它是一个很好的解决相同的源策略,因为你使用的是CORS,它是没有意义的......好吧,您声称使用的是CORS,但我在响应中看不到Access-Control-Allow-Origin标头。

删除dataType: 'jsonp'并让jQuery计算出内容类型响应头中的数据类型。