+ -
当前位置:首页 → 问答吧 → jsonp没有调用callback?

jsonp没有调用callback?

时间:2009-04-21

来源:互联网

jsonp 可以跨域
但貌似没有ajax状态的?(beforeSend,success,error,complete,timeout)
我随便写了段代码,但没有调用状态callback

请教

复制代码
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5. <title>test</title>
  6. <script type="text/javascript" src="jquery-1.3.2.min.js"></script>
  7. </head>
  8. <script type="text/javascript">
  9. jQuery(document).ready(function(){
  10.     $.ajax({
  11.         type : "GET",
  12.         url : "http://workhome/jsonp.php?action=getmsg&callback=?",
  13.         dataType : "jsonp",
  14.         jsonp: 'callback',
  15.         beforeSend : function(XMLHttpRequest) {
  16.             alert('beforeSend');
  17.         },
  18.         success : function(json){
  19.             $('#msg_box').html(json.msg);
  20.             return true;
  21.         },
  22.         error : function(XMLHttpRequest, textStatus, errorThrown) {
  23.             alert(textStatus + XMLHttpRequest);
  24.         },
  25.         complete: function(XMLHttpRequest, textStatus) {
  26.             alert(textStatus + XMLHttpRequest);
  27.         },
  28.         timeout: function(){
  29.             alert('timeout');
  30.         }
  31.     });
  32. });
  33. </script>
  34. <body>
  35. <div id="msg_box"></div>
  36. </body>
  37. </html>

作者: kukat   发布时间: 2009-04-21

确实,因为jsonp不是通过xhr对象构造的,而只是在页面里插入一个script标签来实现的。
但具体有没有error之类的回调,还真没研究过

作者: shawphy   发布时间: 2009-04-21