2014-03-06 81 views
0

您好我對jQuery和一般的web編程相當陌生。如何發送和獲取jquery中的查詢參數

我的問題是如何發送隱藏的查詢參數使用jQuery中的發佈請求和Retreive來自另一個發佈請求中的數據。我知道jQuery中有很多關於.post的教程,但我似乎找不到任何.get請求(如果這是我需要的)。

例如,在一個頁面的.js文件中,我有

$.ajax({ 
    type: 'POST', 

    url: 'url', 
    data: { 
     'startDate': this.options.startDate, 
     'endDate': this.options.endDate, 
     'selectedReport': this.options.endDate, 
    }, 
    success: function (msg) { 
     alert('wow' + msg); 
    } 
}); 

但在另一個js文件的另一頁我想​​有一個獲取請求,檢索這些參數。

任何人都可以解釋我會如何寫這個獲取請求在js文件中檢索它們?

感謝您的幫助

回答

1

.ajax()POST數據作爲查詢字符串參數發送。在其他頁面,您可以編寫JavaScript來獲取這些查詢字符串values.Below是樣品讀取查詢字符串值:

(function ($) { 
      $.QueryString = (function (a) { 
       if (a == "") return {}; 
       var b = {}; 
       for (var i = 0; i < a.length; ++i) { 
        var p = a[i].split('='); 
        if (p.length != 2) continue; 
        b[p[0]] = decodeURIComponent(p[1].replace(/\+/g, " ")); 
       } 
       return b; 
      })(window.location.search.substr(1).split('&')) 
     })(jQuery); 

您可以將上述功能象下面這樣:

var startDate=$.QueryString["startDate"]; 

https://api.jquery.com/jQuery.ajax/

+0

嗨,感謝您的幫助!我有點困惑,因爲我認爲發佈的請求會發送隱藏的參數,而不是在url中,所以我不確定這是否適用於我。 – James

+1

.ajax()文檔:數據 :PlainObject或String 要發送到服務器的數據。它被轉換成查詢字符串,如果還不是字符串的話。它附加到GET請求的url。請參閱processData選項以防止此自動處理。對象必須是鍵/值對。如果value是一個Array,jQuery將基於傳統設置的值使用相同的鍵序列化多個值 – Unnie

2

這在我看來,POST數據是處理服務器端數據。而且Javascript在客戶端。所以你無法使用JavaScript讀取發佈的數據。

1

使用您當前的功能,您將發送POST數據給其他人。例如,在PHP中,發送的數據將位於$ _POST數組中。

要設置一個GET請求,你就必須從POST類型設置爲GET

type: 'GET' 

然後在發送將在$ _GET數組PHP端的數據。

相關問題