下面的代码: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
'数据类型:JSON':你在哪里定义'JSON'变量? 'datatype'不是一个有效的选项。 –
FireBug中的任何错误? – Narek
'数据类型:JSON'应该改为'dataType:“json”'。 'async = true'不是必需的,因为'true'是'async'的默认值。 – jabclab