jQuery.ajax并没有通过GET请求解析

时间:2015-03-13 19:49:59

标签: javascript php jquery ajax

我试图通过使用AJAX的GET请求从select选项字段解析值(成人)。我可以通过url解析值 - 通过jQuery函数中的url警告检查url。但我无法在我执行GET请求的页面中检索值。

jQuery.ajax

<script>
  $('.roomAvailable').change(
   function roomChanges(data) {
     var over = '<div id="overlaysRooms">' 
              + '<div id="loading"><div class="loaders"></div><div id="loadertextsearch">Vent Venligst...</div>' 
              + '</div>';
     $(over).appendTo('.rooms');
     $('.rooms').addClass('overlaysRooms');
     $.ajax({
       type: 'GET',
       data: {
         'arrival': '<?php echo strval($_GET[' arrival ']); ?>',
         'departure': '<?php echo strval($_GET['departure ']);?>',
         'adults': $("#adults option:selected").val(),
         'hotelId': '<?php echo strval($_GET[' hotelId ']);?>',
         'room1': $("#rooms option:selected").val()
       },
       url: '<?php echo $baseUrl ?>/hotels/hotelRoomAvailable.php',

       success: function(data) {
         alert(this.url);
         $('#roomsavailable').replaceWith(data);
         $('#overlaysRooms').remove();
       },
       error: function(xhr) {}
     })

   });

</script>

hotelRoomAvailable.php:

<?php
  var_dump(intval($_GET['adults']));
?>

提醒值:http://example.com/hotels/hotelRoomAvailable.php?arrival=03%2F13%2F2015&departure=03%2F18%2F2015&adults=5&hotelId=375477&room1=1

因此,当我检查var_dump以检索成年人的价值时,我什么也得不到。当我看到在jQuery的警报消息中解析了值时,为什么没有将值解析为页面?

2 个答案:

答案 0 :(得分:0)

您(几乎可以肯定)从您正在调用的PHP脚本中获取预期结果。

  

如果你在之前插入怎么办?   $('#roomsavailable').replaceWith(data);,这一行   alert($('#roomsavailable').length)? - 昆汀

     

然后我得到0 @Quentin - Troels Johannesen

问题是,$('#roomsavailable')找不到任何带有该ID的元素,因此没有任何内容可以替换为您获得的数据。

您需要确保文档中存在具有该ID的元素。

答案 1 :(得分:-1)

请将_GET变量添加到网址。

并删除&#34;类型&#34;和&#34;数据&#34;变量完全。