簡體   English   中英

jQuery.ajax,未通過GET請求進行解析

[英]jQuery.ajax and not parsed via GET request

我正在嘗試使用AJAX通過GET請求從選擇選項字段中解析值(成人)。 我可以通過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的警報消息中已解析了該值時,為什么未將該值解析到該頁面?

您(幾乎可以肯定)從所調用的PHP腳本中獲得了預期的結果。

如果在$('#roomsavailable').replaceWith(data);之前插入怎么辦? ,行alert($('#roomsavailable').length)嗎? –昆汀

然后我得到0 @Quentin – Troels Johannesen

問題是, $('#roomsavailable')找不到具有該ID的任何元素,因此沒有任何東西可以替換為您獲得的數據。

您需要確保文檔中存在具有該ID的元素。

請僅將_GET變量添加到網址中。

並完全刪除“類型”和“數據”變量。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM