当dataType为JSONP时没有调用ajax成功回调函数。在跨域访问中

Posted

技术标签:

【中文标题】当dataType为JSONP时没有调用ajax成功回调函数。在跨域访问中【英文标题】:ajax success call back function was not called when the dataType is JSONP.in Cross domain Access 【发布时间】:2017-12-31 08:29:23 【问题描述】:
type = 'calci';
var ajurl = "example.com&callback=mycallback";
var datas = "cateid=" + cateid + "&type=" + type + "&pno=" + pno + "&whos=" + whos;
$.ajax(
  type: "GET",
  url: ajurl,
  data: datas,
  contentType: "application/json; charset=utf-8;",
  dataType: "jsonp",
  jsonp: 'callback',
  username: "abcdxyz",
  password: "lkjljlmkjhlkj",
  success: function(data) 
    alert('success...');
    console.log(data);
  ,
  jsonpCallback: 'mycallback',
  error: function(xhr, ajaxOptions alert(xhr.status); alert(thrownError);
  
);

我已经定义了回调函数

function mycallback(jsondata)
  console.log(jsondata+"CHeck");
  $('#calcilist').html(jsondata);

如果我打印错误,则显示未定义回调函数或未调用 queryasjdkbaskjds1298372981379284-2132。

【问题讨论】:

【参考方案1】:

从 url 尝试将 &callback=mycallback 更改为 &callback=? 或将其删除并更改为

jsonp: 'callback',

jsonp: false,

【讨论】:

以上是关于当dataType为JSONP时没有调用ajax成功回调函数。在跨域访问中的主要内容,如果未能解决你的问题,请参考以下文章

使用 JQuery Ajax 和 JSONP 调用 OData 服务

jsonp回调函数没有被调用

使用NODEJS实现JSONP的实例

关于jQuery.ajax()的jsonp碰上post详解

mui ajax登录怎么跨域

AJAX中的dataType