簡體   English   中英

在Ajax重新加載請求中傳遞POST變量不起作用

[英]Passing POST Variable in Ajax Request for Reload not working

我有一個ID為#filter的按鈕

<input type="button" name="filter" id="filter" value="Filter" class="btn btn-info" />  

我的Ajax腳本如下:

<script>
 $(document).ready(function(){  
 $('#filter').click(function(){  
            var rangestart = $('#rangestart').val();  
            var rangeend = $('#rangeend').val();  
            if(rangestart != '' && rangeend != '')  
            {  
                 $.ajax({  
                      method:"POST",  
                      data:{rangestart:rangestart, rangeend:rangeend},  
                      success:function(data)  
                      {  
                           window.location = 'http://www.test/daterange/dates.php?rangestart=' + rangestart +'&rangeend=' + rangeend
                      }  
                 });  
            }  
            else  
            {  
                 alert("Please Select Date");  
            }  
       });  
  });  

我單擊我的#filter按鈕,它可以正常工作。

rangestart傳遞我的輸入框的值(在低於04-15-2017的情況下) rangeend傳遞我的輸入框的值(在低於04-20-2017的情況下)

因此,頁面會重新加載,地址欄中的網址為:

http://www.example.com/daterange/dates.php?rangestart=04-15-2017&rangeend=04-20-2017

在我的dates.php文件中

$rangestart = $_POST['rangestart'];
$rangeend = $_POST['rangeend'];

在頁面頂部。 但是即使地址欄中傳遞了數據, $rangestart$rangeend都為空,因此無法按預期對它們執行任何操作。

有人知道這個問題可能是什么嗎?

如果要在地址欄中訪問它們,請使用$ _GET ['rangestart']。

window.location重定向是一個GET請求,因此您需要在dates.php中使用$_GET而不是$_POST

$rangestart = $_GET['rangestart'];
$rangeend = $_GET['rangeend'];

AJAX方法用於加載新信息,而無需刷新頁面。 如果您要重新加載響應,那么最好通過查詢字符串傳遞日期。

出現錯誤時,我認為PHP腳本未針對該請求發送任何響應。 您可以在開發人員工具欄的“網絡”>“ XHR”部分中檢查響應。 另外,將錯誤函數添加到ajax調用中以檢查錯誤,如下所示,

$.ajax({  
    method: "POST",  
    data: { rangestart: rangestart, rangeend: rangeend },  
    success:function(data) {  
        window.location = 'http://www.test/daterange/dates.php?rangestart=' + rangestart +'&rangeend=' + rangeend
    },
    error: function(xhr, status, error) {
        var err = eval("(" + xhr.responseText + ")");
        alert(err.Message);
    }
});

暫無
暫無

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

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