2011-04-06 191 views
0

这是一个非常奇怪的错误,我希望有人遇到过它。当输入“密码”到密码字段时jQuery ajax错误

我使用jQuery的$ .ajax方法从登录脚本发布数据。每次刷新登录页面并首次在密码字段中输入“密码”一词时,就会触发$ .ajax的error()方法,即ajax无法与服务器通信。如果我再次尝试而无需刷新页面,则可以毫无困难地与服务器通信。

因此,总而言之,在密码输入字段中输入“密码”一词会导致$ .ajax失败。我发誓我没做出来!

var action = $('#myForm').attr('action'); 
var email = $('#myForm input[name=email]').val(); 
var password = $('#myForm input[name=password]').val(); 

$.ajax({  

    url: action, 
    type: 'POST', 
    data: { 
     email: email, 
     password: password 
    }, 
    dataType: 'json', 
    timeout: 20000, 
    cache: false, 

    error: function(xhr,status,error){ 

     alert('Cannot communicate'); 

    }, 

    success: function(data){ 

     alert('OK'); 

    } 

}); 
+1

什么是“状态”错误? – Wiseguy 2011-04-06 03:31:22

+0

我没有看到任何与你的错误有关的问题。我也想现在什么错误函数的状态/错误参数持有。我假设你展示的代码是从一个单击提交按钮或执行某项操作的某个函数的摘录...?此外,为了简洁并避免重复查询同一元素(#myForm)的DOM 3次,我会按照以下这样的代码来编码它:http://pastie.textmate.org/private/rcpohw1igkqucl77v2w – JAAulde 2011-04-06 03:43:08

回答

0

对不起,浪费时间,但我刚刚发现问题,它不是一个jQuery的bug。我正在返回一个格式错误的json对象,它触发了error()方法。编码16小时后,有时你看不到树林。