2011-06-26 25 views
2

我試圖加載頁面不同,如果它是一個職位或GET,後似乎像jQuery將有東西,所以我可以做檢測如果請求是在jQuery的

if (isPost()) 
    { 
     // do something if this page was a post 
    } 

我m根據請求類型顯示/隱藏某些內容,並希望使用javascript專門執行此操作。我可以用我正在使用的框架輕鬆完成,但不想。

回答

2

這裏的問題是,你是混淆客戶端與服務器端。

GET,POST,PUT,DELETE等都是從客戶端(例如:瀏覽器)發送到服務器的HTTP'方法'。然後,服務器以相應的HTTP響應進行響應,通常以包含HTML的內容的形式進行響應。

POST/GET/etc在客戶端沒有上下文來決定如何將請求發送到服務器。

認爲瀏覽器是您的郵政信箱和POST/GET/etc是它交付的方法。當有人向您發送一封郵件時,他們會指定方法,例如頭等郵件,隔夜快遞或當天遞送。郵局根據收到郵件的方式處理郵件,並使用適當的操作發送郵件。當您在郵箱中收取郵件時,您不知道是否通過標準郵件,隔夜快遞或當天遞送到達。你會知道的唯一方法是信封上的任何信息。

您的問題的解決方案將遵循同樣的原則。爲了解決這個問題,你需要做的是包含一個隱藏的值,jQuery可以在查詢字符串,一個特殊的元素或隱藏的文本框中包含用於獲取頁面的HTTP方法。

這要求相應地更改服務器端代碼,以便將該信息推送回客戶端。

希望能幫助我們澄清一點。

+0

謝謝!是的,這清除了它。我希望以某種方式JavaScript可以讀取響應頭......但沒有骰子。 –

0

我不知道這是否真的有可能在JavaScript中。但是你可以檢查是否有一個查詢字符串是GET的URL

if (location.search.length > 1) { 
    // your code. 

} 

location.search在這種情況下location.search將?id=1&value=3包括返回的查詢字符串的URL

http://example.com/index.html?id=1&value=3 

問號。

所以如果存在的話,那麼你有一個GET