Форма jQuery не отправляет - PullRequest
       1

Форма jQuery не отправляет

0 голосов
/ 17 сентября 2010

У меня странная ситуация, когда моя форма не отправляет никаких данных, но отображается страница (которая должна отображаться только при отправке данных).

У меня есть этот код сейчас:


     [..]
     if(form == true){
      var gender = $("input[@name='rgender']:checked").val();
      var data = "name="+$("#name").val()+"&gender="+gender+"&country="+$("#country").val()+"&address="+$("#address").val()+"&zip="+$("#zip").val()+"&city="+$("#city").val()+"&mail="+$("#mail").val()+"&phone="+$("#phone").val()+"&checkin="+$("#checkin").val()+"&guests="+$("#guests").val()+"&time="+$("#time").val()+"&nights="+$("#nights").val()+"&remarks="+$("#remarks").val();
      $.ajax({
       url: "http://www.domain.nl/tmp/process.php", 
       type: "GET",    
       data: data,       
       cache: false,
       success: function(){
        $("#content").empty();
        $("#content").load('http://www.domain.nl/tmp/process.php');
       }
      });
      f.preventDefault();
     }
     [..]

Я проверил строку данных с alert() раньше, и она работает хорошо

Мой php-файл выглядит так, но я не получаю никаких значений

<pre> <code><?php echo("GET: ".$_GET['name']); ?>

Ответы [ 3 ]

1 голос
/ 17 сентября 2010

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

   success: function(result){
    $("#content").html(result);
   }

В своем коде вы отправляете 2 ajax-запроса. Сначала с $ .ajax и некоторыми параметрами GET, а затем с $ (). Load, но без каких-либо параметров. Так что на самом деле вы можете упростить свой код до этого:

if(form == true){
   var gender = $("input[@name='rgender']:checked").val();
   var data = "name="+$("#name").val()+"&gender="+gender+"&country="+$("#country").val()+"&address="+$("#address").val()+"&zip="+$("#zip").val()+"&city="+$("#city").val()+"&mail="+$("#mail").val()+"&phone="+$("#phone").val()+"&checkin="+$("#checkin").val()+"&guests="+$("#guests").val()+"&time="+$("#time").val()+"&nights="+$("#nights").val()+"&remarks="+$("#remarks").val();
   $("#content").load('http://www.cherrytrees.nl/tmp/process.php', data);
   f.preventDefault();
}
1 голос
/ 17 сентября 2010

Измените его следующим образом:

url: "http://www.cherrytrees.nl/tmp/process.php?" + data,

В исходном запросе вы отправляли его через POST, а не GET.

0 голосов
/ 17 сентября 2010
 url: "http://www.cherrytrees.nl/tmp/process.php", 
       type: "GET",    
       data: data,  

опция «data» доступна только для типа POST, если вы хотите получить параметры GET, напишите их в свой URL

url.com?name="+$("#name").val()+"&gende....
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...