Проблема в отправке значений в jQuery с $ .post - PullRequest
0 голосов
/ 31 января 2011

РЕДАКТИРОВАНИЕ: После двух часов попыток решить мою проблему я был запутан, поэтому пришел в StackOverflow, прочитал соответствующие вопросы, которые не решили мою проблему, и, наконец, попросил помощи.Я упростил свой код и разместил этот вопрос.Тестируя код, который вы дали мне, я мог видеть, где я терпел неудачу.Это смущает: прямо перед вызовом $ .post я менял содержимое формы div для отображения gif загрузчика ajax, поэтому, когда вызывался $ .post, входные данные были удалены.

Hello.Я тестирую функции jQuery AJAX и не могу отправить данные по $. Post .Это процесс:

  • form.php: html-форма и скрипт jquery, которые отправляют значения в $ .post и оповещают о результате
  • process.php: скрипт php, которыйполучает значения, работает с ними и возвращает что-то.

FORM

<form action="#" method="post">
<label for="name">Your name</label>
<input type="text" name="name" id="name" />
<label for="email">Your email</label>
<input type="text" name="email" id="email" />
<input type="button" value="send" id="btnSend" />
</form>

JQUERY

    function sendAjaxPost(){

        $.post('process.php',{
                name: $('#name').val(),
         email: $('#email').val()
         },
         function(data){
           alert(data);
         });
        }

$('#btnSend').click(function(){
   sendAjaxPost();
}

PROCESS.PHP

foreach($_POST as $key => $value)
{
 echo $key . ' => ' . $value . '<br/>';
}

Я не могу отправить $ ('# name'). Val (), но если я отправляю строку, все работает нормально.У меня есть предупреждение $ ('# name'). Val () внутри функции jQuery, и его можно прочитать.Я следовал синтаксису, показанному в $. Post .

Может ли кто-нибудь дать мне свет?Заранее спасибо

1 Ответ

1 голос
/ 31 января 2011

Если вы можете прочитать поля ввода в функции, вы можете попробовать это,

function sendAjaxPost(){
         name=$('#name').val();
         email=$('#email').val();
         alert(name);   
         alert(email);   
        //If this two alerts the name and email, try with $.get();
        $.post('process.php',{
                name: name,
                email:email
         },
         function(data){
           alert(data);
         });
        }
...