当数据字符串中指定的变量超过10个时,jQuery.post()中断


jQuery.post() breaks when more than 10 variables are specified in the data string

嘿,伙计们,我有一个问题,我希望很容易解决。目前,我正在使用这段代码将变量从表单发送到PHP。只要我的变量少于10个,它就可以工作,但只要我有10+,我的PHP脚本就会出现错误。这是我的.post()代码:

$.ajax({
            type: "POST",
            url: "ajax.php",
            data: "&email="+ email + "&fname="+ fname + "&lname="+ lname + "&password="+ password + "&groupname="+ groupname + "&productkey="+ productkey + "&company="+ company + "&position="+ position + "&sector="+ sector, 
                success: function(){
                    $('form#submit').hide();
                    //$('form#submit :input').val("");
                     $('div.success').fadeIn();
                }
    });

对我来说,这似乎有点低效,这可能就是为什么我一添加第十个变量,它就会崩溃的原因。我有点不知所措。有什么想法吗?如果需要,我可以提供一个包含所有文件的表单zip。

干杯。

以下是ajax.php文件的主要内容:

  $fname        = htmlspecialchars(trim($_POST['fname']));  
$lname        = htmlspecialchars(trim($_POST['lname']));  
$email        = htmlspecialchars(trim($_POST['email']));  
$password     = md5(trim($_POST['password']));  
$groupname    = htmlspecialchars(trim($_POST['groupname']));  
$productkey   = htmlspecialchars(trim($_POST['productkey']));   
$company      = htmlspecialchars(trim($_POST['company']));   
$position     = htmlspecialchars(trim($_POST['position']));   
$sector       = htmlspecialchars(trim($_POST['sector']));  

$addClient  = "INSERT INTO tbl_user (fname,lname,email,password,groupname,productkey,company,position,sector) VALUES ('$fname','$lname','$email','$password','$groupname','$productkey','$company','$position','$sector')";  
mysql_query($addClient) or die(mysql_error());  

经过进一步的故障排除,我仍然不能100%确定问题所在,但我确实相信在公认的解决方案中传递数据的方式比我以前尝试的方式要好。mySQL数据库中可能也存在问题,需要删除一列并重新创建它,然后才能正常运行。谢谢大家-希望我没有浪费你们的时间

尝试将数据作为一个简单对象传递:

var data={"email":电子邮件,"fname":fname,……}$.ajax({类型:"POST",网址:"ajax.php",数据:数据,。。。})

也许这会有所帮助:/