日期:2014-05-16  浏览次数:20378 次

jquery ajax使用jsonp跨域请求问题,请各位帮忙看下。谢谢。
      <script type="text/javascript" src="js/jquery-1.8.0.min.js"></script>
      <script type="text/javascript">
      $(document).ready(function(){ 
      alert(123);
        $.ajax({
             type: "post",
             async: false,
             url: "http://xxx.xxx.xxx.xxx:8080/charge/wap-charge-input.action",
             dataType: "jsonp",
             jsonp: "callback",
             jsonpCallback:"flightHandler",
             success: function(json){
                 alert(json);
             },
             error: function(){
                 alert('fail');
             }
         });
     });
     </script>

执行结果:alert(fail);
它怎么执行的就是error呢,谁知道什么原因么?怎么解决,谢谢大家。
jsonp jQuery?Ajax JSON 函数

------解决方案--------------------
那你把jquery的报错信息看下撒。。前台后台都调试下 看看哪里出的问题
------解决方案--------------------
url: "http://xxx.xxx.xxx.xxx:8080/charge/wap-charge-input.action",

确认你这个地址允许你jsonp操作。。?

jsonpCallback:"flightHandler",指定了回调函数名称,你自己注册过这个函数没有
------解决方案--------------------
flightHandler 这个回调方法在哪里?回来了找不到回调函数了吧。
------解决方案--------------------
url: "http://xxx.xxx.xxx.xxx:8080/charge/wap-charge-input.action"

不是返回json数据就行的,要返回  jquery注册的回调函数名(json数据)

这种数据才行,而不是返回  json数据,楼主看下jsonp原理。。