jQuery.post () прерывается, когда в строке данных указано более 10 переменных - PullRequest
1 голос
/ 27 мая 2011

Эй, ребята, у меня проблема, которую, я надеюсь, легко решить. В настоящее время я использую этот код для отправки переменных из формы в 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();
                }
    });

Мне кажется, это несколько неэффективно, поэтому может быть так, как только я добавлю десятую переменную. Я немного растерялся. Какие-нибудь мысли? При необходимости я могу предоставить почтовый индекс формы со всеми файлами.

Приветствие.

Вот основное содержание файла 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, когда мне нужно было удалить столбец и воссоздать его, прежде чем он работал правильно. Спасибо всем - надеюсь, я не потратил впустую ваше время

1 Ответ

1 голос
/ 27 мая 2011

попробуйте просто передать ваши данные как простой объект:

var data = {"email": email, "fname": fname, ....}
$.ajax({
  type: "POST",
  url:  "ajax.php",
  data: data,
  ...
})

возможно, это поможет: /

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...