Как я могу получить данные от контакта с JQuery AJAX? - PullRequest
0 голосов
/ 06 февраля 2012

Я использую следующий код.Который отправляет нормально с php, и это похоже на успешное действие ajax ... после реализации AJAX и отправки электронного письма ... но в электронном письме не отображаются данные электронного письма, оно пустое ....

HTML

<form id="sForm" action="submit.php" method="get">
<label>your e-mail: </label>
<input type="text" name="email"></input>
<input id="sub" type="submit" />

</form>
<div id="message_ajax"></div>
<div id="error"></div>

jQuery

$("#sub").click(function(){


var datastr = 'email'

$.ajax({
    type: 'GET',
    url: 'submit.php',
    data: datastr,
    beforeSend:function(){
            $('#message_ajax_wait').append('Loading...');
    },
    success:function(data){
            $('#message_ajax_wait').fadeOut(400);
            $("#message_ajax_done").append('done!');
    },
    error:function(){
            $('#error').append('sigh... lets fix... or its server fault');
    }
});

return false;

});

Смотри, я убрал "return false;"он может отображать данные электронной почты в почтовом ящике, НО ответ AJAX не работает и перенаправляется на некрасивую страницу php как submit.php, который закодирован для отправки электронной почты.

Может кто-нибудь мне помочь?

Ответы [ 3 ]

1 голос
/ 06 февраля 2012

Вы можете использовать метод .serialize (), чтобы легко разместить все поля в форме. Итак, в вашем случае:

var datastr = $("#sForm").serialize();

Или без добавления его в строку:

$.ajax({
    type: 'GET',
    url: 'submit.php',
    data: $("#sForm").serialize(),
    beforeSend:function(){
    ....
};
1 голос
/ 06 февраля 2012

Вы отправляете неверные данные в запросе AJAX. Это должно работать, если var datastr = 'email'; изменяется на var datastr = 'email=' . $('#email').val(); и вы добавляете id="email" к входу электронной почты.

1 голос
/ 06 февраля 2012

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

var data = {email:$("input[name=email]").val()};

$.ajax({
    type: 'GET',
    url: 'submit.php',
    data: data,
    beforeSend:function(){
    ....
};
...