2011-08-24 64 views
2

我有以下三個瓦爾:

var action, 
    pubMode, 
    token; 

所有三個值應通過POST和使用Ajax提交。由於POST不採取一個網址,我絕對不知道如何做到這一點?

function ajaxPost(action, pubMode, token) { 

    $.ajax({ 
     url: ??, 
     dataType: "text json", 
     type: "POST", 
     success: function(jsonObject,status) { 

      console.log("function() ajaxPost : " + status); 

     } 
    }); 
} 

你們可以請你幫我一把!謝謝

回答

8

$.ajax有一個data選項,您可以在對象上或作爲查詢字符串傳遞變量。

POST不像GET那樣將變量粘貼到URL上。使用您要發佈的網址爲url,並使用data發送變量。

$.ajax({ 
    url: 'http://your/url/here', 
    dataType: "text json", 
    type: "POST", 
    data: {action: action, pubMode: pubMode, token: token}, 
    success: function(jsonObject,status) { 

     console.log("function() ajaxPost : " + status); 

    } 
}); 
+0

謝謝。是否也可以使用以下變量名稱? '我的[pub_mode]:pubMode'。每當我使用方括號時,代碼不再起作用。 – matt

+0

@mathiregister:你可以用兩種方法做到這一點。 1,使用查詢字符串表示法:''my [pub_mode] ='+ pubMode +'&my [action] ='+ action +'&token ='+ token'。 2,將它作爲對象發送:'{my:{pub_mode:pubMode,action:action},token:token}'。 –

2
url: "YOUR URL", 
    data: {action: action, pubMode: pubMode, token: token} 

Documentation

不要忘記,你的網址可能包含的get和post參數的組合。通過URL傳遞獲取的信息。

4

使用data參數傳遞給它的對象:

function ajaxPost(action, pubMode, token) { 

    $.ajax({ 
     url: "targetpage.php", 
     dataType: "text json", 
     type: "POST", 
     data: {action: action, pubMode: pubMode, token: token}, 
     success: function(jsonObject,status) { 

      console.log("function() ajaxPost : " + status); 

     } 
    }); 
} 
+0

也可以在數據變量中使用方括號嗎?像我上面評論的? 'data:{my [pub_mode]:pubMode,token:token}'因爲當我使用方括號時,我得到一個語法錯誤。 – matt

+0

不知道你在這裏試圖完成什麼。該部分是POST變量的名稱。 –