jquery ajax jqXHR.status始终为0

我正在尝试使用jquery使用AJAX提交表单:

...
Name ...   
some data<input type="checkbox" value="result_videos[$i]["video_name"]; ?>" title="Mark this video for deletion"/>

如果有人选中了一个复选框并点击了提交按钮,我有以下代码:

 jQuery(".deletebutton").on("click", function() { var testchecked = jQuery(':checkbox:checked').length; if (testchecked == 0) { alert('Please select at least one video'); e.preventDefault(); } else { if (confirm("Are you sure you want to delete the selected videos?")) { var checked = jQuery('input:checkbox:checked').map(function () { return this.value; }).get(); var $this = jQuery(this); jQuery.ajax({ type: 'POST', url: 'index.php?option=com_recordings&task=deletevideos&format=raw', data: {checkedarray:checked}, success: function(data){ alert(data); } }); } } }); 

奇怪的是,这段代码在IE中运行良好(如何进行更改)但在Chrome或FF中没有。 如果我检查错误:

 error: function(jqXHR, textStatus, errorThrown) { if (jqXHR.status === 0) { alert("Not connected. Verify Network."); } 

它似乎总是抛出这个警报。 那为什么它总是0? 这是非常奇怪的事情。 经过多次游戏,如果我将表格更改为表格,那么它的作用是:

  ... //the rest is the same

这将适用于FF和Chrome,但现在IE无法正确呈现表格。 所以这不是一个解决方案(反正它不是w3c有效代码)。 所以…任何想法? 我可以尝试调试这个吗?

这是因为您没有取消提交按钮的click事件。 你需要在两种情况下都这样做,而不仅仅是if中的部分。 在if之前移动该行,代码将不再神奇地不为零。

Name ...