jQuery form.submit()无响应的脚本错误

问题描述:

我不断收到无响应的脚本错误(在Firefox上,在Chrome中该页面刚刚冻结)。jQuery form.submit()无响应的脚本错误

我使用这个WordPress的,其目的是通过通过AJAX基于表单提交发送一些数据,WordPress的,然后用力将表单提交。所以想象一下,我想跟踪表单提交的统计数据。跟踪实际上可以正常工作,但每当它到达提交表单的地步,页面就会冻结,并且出现jQuery错误。

这里是我的代码(基本):

$('.wrapper form').submit(function(e) { 
e.preventDefault(); 
var self = this; 
var data = "x"; 
    var ajax_url = "correctUrl"; 
var submission_data = "action=ajax_url" + "&data=" + data; 

$.ajax({ 
    type: "POST", 
    url: ajax_url, 
    data: submission_data, 
    success: function(msg) { 
     if (data == 'y') { 
      if (msg && msg != 'no_redirect') { 
       window.location.href = msg; 
      } 
     } else { 
      self.submit(); 
      if (data == 'x') { 
       if (msg != 0 && msg != 'no_redirect') { 
        window.location.href = msg; 
       } 
      } 
     } 
    }, 
}); 
} 
+0

在self.submit();下面添加代码的意义是什么?当它手动提交表单而不是通过ajax? – Joseph 2012-03-27 20:54:55

+0

我想要表单提交,但我停止与e.preventDefault()发生的事情,以便我可以首先跟踪提交 – graemeboy 2012-03-27 20:56:35

+2

这只是要保持循环不是吗?如果(data =='y')和数据被设置为x,在这种情况下它会再次提交? – mikevoermans 2012-03-27 20:57:00

第一步,你甲肝设置ajax_url - 用代尔铝-Zour替换URL correctUrl
第二个var submission_data = "action="+ ajax_url + "&data=" + data;

+0

是的,我只是把它作为占位符。我确实有正确的网址。 – graemeboy 2012-03-27 20:59:12

+0

这就是为什么我特别设置var self = this之前,然后用它来提交。 – graemeboy 2012-03-27 21:13:45

+0

我设置了self = this,然后稍后使用“self”,这样我就不必再使用“this”了,一旦引用丢失了。 – graemeboy 2012-03-27 21:18:38