javascript - ajax jsonp我写的方法怎么调用不了? 为什么用$.getJSON方法能生成数据?
ringa_lee
ringa_lee 2017-04-11 13:13:43
0
2
468

http://jsbin.com/curofericu/e...

//   $.getJSON("http://www.runoob.com/try/ajax/jsonp.php?jsoncallback=?", function(data) {
    
//     var html = '<ul>';
//     for(var i = 0; i < data.length; i++)
//     {
//         html += '<li>' + data[i] + '</li>';
//     }
//     html += '</ul>';
    
//     $('#pCustomers').html(html); 
// });

我把上面的方法转成ajax的方法

$.ajax({
  method: "post", //get/post试过了 
  async: false,
  url: "http://www.runoob.com/try/ajax/jsonp.php",
  dataType: "jsonp",
  jsonp: "jsoncallback",//传递给请求处理程序或页面的,用以获得jsonp回调函数名的参数名(一般默认为:callback)
  jsonpCallback:"?",//自定义的jsonp回调函数名称,默认为jQuery自动生成的随机函数名,也可以写"?",jQuery会自动为你处理数据
  success: function(data){
  var html = '<ul>';
  for(var i = 0; i < data.length; i++)
  {
  html += '<li>' + data[i] + '</li>';
}
       html += '</ul>';

       $('#pCustomers').html(html); 
},
  error: function(){
    alert('fail');
  }
});

为什么会进入error啊
好奇怪。
如何正确使用ajax jsonp里面的方法 。

案例http://www.runoob.com/json/js...

ringa_lee
ringa_lee

ringa_lee

全部回复(2)
大家讲道理

jsonpCallback:"?",//自定义的jsonp回调函数名称,默认为jQuery自动生成的随机函数名,也可以写"?",jQuery会自动为你处理数据

API中并没有这么说过。去掉这个就行

阿神

注掉jsonpCallback, 问号只在参数里用,启用该参数的话,传的是你定义的方法名, 不要设置用系统的即可
另 jsonp 只可能是GET, 没有POST(当然, 该模式下其实是会忽略method和async设置的)

$.ajax({
  method: "post", //get/post试过了 
  async: false,
  url: "http://www.runoob.com/try/ajax/jsonp.php",
  dataType: "jsonp",
  jsonp: "jsoncallback",//传递给请求处理程序或页面的,用以获得jsonp回调函数名的参数名(一般默认为:callback)
  //jsonpCallback:"?",//自定义的jsonp回调函数名称,默认为jQuery自动生成的随机函数名,也可以写"?",jQuery会自动为你处理数据
  success: function(json){
  var html = '<ul>';
  for(var i = 0; i < data.length; i++)
  {
  html += '<li>' + data[i] + '</li>';
}
       html += '</ul>';

       $('#pCustomers').html(html); 
},
  error: function(){
    alert('fail');
  }
});
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!