2011-09-14 48 views
1

我有鏈接像 http://example.com?query1=query1&query2=query2作爲錨標記的href。 我想在鏈接的查詢參數中使用數據進行href點擊後發送ajax。 我已經寫代碼jquery與查詢參數的鏈接到ajax請求

$("a").bind('click',function(){ 
    $.ajax({type:'post',url:$(this).attr('href'), success: function(data){ 
    alert(data); 
    }}) 
     return false; 
}); 

,但它不會發送AJAX POST請求中的查詢參數。請求查詢數據長度爲0.

如何更改此代碼以處理鏈接查詢參數中的數據?

編輯

對不起我的壞,但它不工作,這些都是那麼這些字段不要求的內容裏面去請求

Accept:application/json, text/javascript, */*; q=0.01 
Accept-Charset:ISO-8859-1,utf-8;q=0.7,*;q=0.3 
Accept-Encoding:gzip,deflate,sdch 
Accept-Language:en-US,en;q=0.8 
Connection:keep-alive 
Content-Length:0 


Query String parameter 
action:delete 
id:12 

回答

3

您需要使用href屬性的值,而不僅僅是jQuery對象本身。

網址:$(本).attr( 'href' 屬性)VAL()

更新

雖然你說的這個答案爲你工作,我犯了一個錯誤。 val不是attr的有效函數,但是它是以原始方式工作的。

看到這個演示:http://jsfiddle.net/PuyzU/

更新2

好吧,我現在看到你的問題。這個問題並不清楚你的意思。

讓我在這裏重寫你的問題,以確保我在正確的軌道上。

我想採取URL的查詢字符串參數,並在我的ajax POST操作中使用它們。我如何使用jQuery來做到這一點?

在您的ajax post方法中,有一個屬性data,您將在其中存儲要發佈到服務器的數據。

$.ajax({ 
    type: 'post', 
    url: "http://[...], 
    data: DataToPostToServerHere 
    [...] 

在這種情況下,我們可以通過在?分裂我們的URL獲得querysting參數值作爲單個字符串和使用該陣列的第一部分作爲URL和如我們發送數據中的第二部分:

var urlFull = $('#myLink').attr('href').split('?'); 
urlFull[0] // Our URL 
urlFull[1] // The data to put into the data property for posting. 

Working Example

+0

真的嗎?我剛剛檢查了我的代碼示例,我認爲這是錯誤的。使用.val()會拋出一個錯誤,實際上這樣做會導致您的原始方式適用於我。 –

+0

哦對不起:P 我在這裏嘗試http:// jsfiddle。淨/ Sta7D/8/ ,並點擊它是JavaScript錯誤和頁面加載它與自我價值。 我網絡面板我認爲這是ajax請求:P –

+0

我想我的但在螢火蟲閱讀網絡面板:P –