jQuery ajax请求时,url报错

直接上js代码

$.ajax({

      url: "http://114.215.190.239/agent/agent/?/admin/user_for_daxiong",
  //http://114.215.190.239/agent/agent/?/admin/user_for_daxiong
  //http://www.baidu.com
      data:{},
      dataType: "jsonp",
      callback: 'json_callback',
      success:function(data){
          alert("data:"+ data);
      },
      error: function() {
    alert(0);
       }
  })

报这个错
图片描述
我的url参数后面拼的这一长串是怎么来的?为什么会出现?
当我将url 参数换成http://www.baidu.com 之后,又会出现下面报错:
图片描述

阅读 5.7k
4 个回答

因为你的datatype是jsonp,所以有这个参数,你可以看看jsonp具体怎么跨域的,还有就是你需要跨域么,原因可能就是callback不对

参数后面那一串是因为你用dataType: jsopjquery自己帮你加的。

至于为什么请求http://www.baidu.com不行,因为返回数据格式不对。这个链接显然返回的是一段html(这段理解不了就该抽自己了)。而你期待的是个json的结果,当然会报错

这是我写的一个跨域方法:

$.ajax({  
    type: "GET",  
    url: url,
    dataType:'JSONP',
    jsonp:"callback",
    jsonpCallback:"success_jsonpCallback",
    success: function(data){  
        console.log(data)
    }  
}); 

多谢楼上三位的回答,虽然不是很切要害,但都是有启发的。最大的问题就是代码应该放在服务器上跑,我之前一直在本地服务器环境下运行,所以就产生问题。最后效果如下:
图片描述

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题