2011-12-12 75 views
0

下面的代码:AJAX在jQuery的1.3.2反复工作只适用首次在1.7.1

$(document).ready(function() { 
     $().ajaxStart(function(){ 
      alert("in ajaxStart") 
      //tried removing $.blockUI(below, same thing. don't see alert 
      //$.blockUI({ message: '<h1><img src="images/ajax-loader.gif" /> Running query...</h1>' }); 
     }); 
     $().ajaxStop(function(){ 
      $.unblockUI() 
     }); 
    ... 
     $("#frmQUERYSUBMIT").submit(function(e) { 
    ... 
      $.ajax({ 
       type: "POST", 
       url: '/execquery/' + jsonQuery, 
       //datatype: JSON, //original, incorrect 
       datatype: "json", //still get same problem with correct usage 
       success: function(data, textStatus) { 
          $("#status p").html(data); 
         }, 
       async: true 
      });   
    ... 
     }); 
    }); 

在1.3.2,这个工作得很好,达到了服务器,给我回的数据我预期。当我升级到1.7.1时,它会工作一次(每次打开浏览器),但所有后续执行都不会执行任何操作。如果我通过萤火虫中的代码,它会显示它每次都会一行一行地执行,但实际上只是第一次执行某些操作。此外,在1.7.1中,$().ajaxStart(也仅在第一次运行,而不是任何后续时间。

TIA

编辑:我原本张贴我的服务器日志显示对后续尝试没有关系。这是一个错误。日志显示连接已完成,并给出响应。它只是不显示在浏览器中。

编辑:FWIW,在1.3.2中,数据返回为"{"queries":{"f.sp":{"1d":{"show_results":{"19820611":-2.6893769610040343,...";但在1.7.1,它回来的文件,并表示该类型是application/xml

+2

'数据类型:JSON':你在哪里定义'JSON'变量? 'datatype'不是一个有效的选项。 –

+0

FireBug中的任何错误? – Narek

+0

'数据类型:JSON'应该改为'dataType:“json”'。 'async = true'不是必需的,因为'true'是'async'的默认值。 – jabclab

回答

1

JSON是不是一个有效的数据类型,尝试给datatype: 'json'

+0

谢谢,是的,我确实尝试过(并编辑了我的原始文章),但没有什么区别。 – davej