2012-03-01 70 views
1

我想創建僅包含鏈接的登錄頁面。這些鏈接應該向服務器端腳本發出發佈請求,該腳本將設置一些cookie並將瀏覽器重定向到另一個頁面。這樣做的原因是,我將一個新的區域選擇頁面綁定到已經具有內置區域邏輯的現有站點 - 它設置了一個包含2個字符的區域設置字符串的cookie。我可以在jQuery中發佈post()而不發出XHR請求嗎?

Jquery在我的頁面上可用,所以我正在考慮使用$ .post(),但這隻會產生XHR請求。是否有可能做我想用jquery?或者我需要我的'鏈接'作爲表單中的按鈕?

下面的代碼使一個XHR請求

<head> 

    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> 
    <script type="text/javascript" src="/_scripts/jquery-1.6.1.min.js"></script> 

    </head> 
    <body> 
     <a id="test" href="">link</a> 

      <script type="text/javascript"> 
       $(function(){ 
        $('#test').bind('click', function(){ 
        $.post('/select-locale/processing', 
        {'locale':'NZ', 
         'returnPage':'/' 

        }); 
       }); 

       }) 

      </script> 
    </body> 
</html> 

我想我可以剛剛從我的PHP腳本返回一個布爾值,然後做window.location.href上成功,但想知道是否有另一種選擇。

+2

您可以使用jQuery創建一個表單,並在文檔和['.submit()'](http://api.jquery.com/submit/)上使用它所需的參數。 – Orbling 2012-03-01 17:13:17

+0

好的 - 我誤解了這個。我需要創建一個表單,然後點擊鏈接,然後提交。 – codecowboy 2012-03-01 17:38:21

回答

5

.post()是jQuery的Ajax功能的一部分。如果你不想使用這個,那麼請回到正常的舊版本.submit()。這將提交一個表格,導致新的頁面被提供。或者,您可以將表單提交給隱藏的iframe。

+0

所以我基本上必須使用表單,即使它不是一個表單? – codecowboy 2012-03-01 17:18:14

+0

@codecowboy:這實在是一種形式,它只是您即時創建的表單。 – Orbling 2012-03-01 17:19:31

+0

@Orbling你有沒有例子? – codecowboy 2012-03-01 17:35:24

相關問題