2012-09-15 101 views
0

我需要製作一個按鈕,其功能類似於社交網絡中的「Follow」按鈕。問題是我需要在用戶點擊按鈕時刷新頁面,因爲頁面內容在很大程度上取決於用戶是否遵循。提交沒有表單的POST方法?

我可以提交「關注」與Ajax和阿賈克斯時響應重新加載頁面。是否有可能提交數據與POST沒有AJAX(就像表單一樣)?

+0

呃處理它......爲什麼你不能只用一種形式?你知道你可以在頁面上有多個表單嗎? – aquinas

+0

事情是,沒有用戶輸入的需要。我可以使用隱藏輸入字段的表單並顯示提交按鈕。我不能想到這樣做的任何問題,但它似乎不是一個好主意 – lisovaccaro

+1

*課程*有用戶輸入。用戶點擊一個按鈕,表示他們想跟隨。是的,你會使用一個隱藏的領域。這正是要做到這一點的方式。 – aquinas

回答

1

有了JQuery,你可以做類似

$.post('pageurl.php', {"variable1": "Value1", "Variable2": "Value2"}, function(datareturn){}); 

而且從服務器端的像正常

$var1 = $_POST["varriable1"]; 
+0

您可以使用目標iframe來避免使用ajax –

0

根據數據量的提交,常規鏈接可以提交數據,以及。

這一點,例如,提交搜索項this and that

https://www.google.com/search?q=this+and+that 
+0

是的,但是它會按照quesiton中指定的'GET'而不是'POST'提交,不是嗎? –

+0

@jidma - 確實如此,但有時候提出一個可能的選擇讓OP重新考慮可能性。通常被問到的問題實際上並不是需要解決的問題。 –

+0

是的,這是真的 –

0

你可以動態創建表格,然後將其刪除:

function postjs (to,method, p) { 
    var myForm = document.createElement("form"); 
    myForm.method=method; 
    myForm.action = to ; 
    for (var k in p) { 
    var myInput = document.createElement("input") ; 
    myInput.setAttribute("name", k) ; 
    myInput.setAttribute("value", p[k]); 
    myForm.appendChild(myInput) ; 
    } 
    document.body.appendChild(myForm) ; 
    myForm.submit() ; 
    document.body.removeChild(myForm) ; 
} 

,並稱之爲:

postjs('target.php','post',{field1:'value1',field2:'value2'}) 
+0

爲什麼你不能只使用AJAX? – Blender

+0

他在問題中提到'是否可以在沒有AJAX的情況下使用POST提交數據(如表單那樣)' –

+0

我看不出AJAX在這種情況下無法工作的任何原因,但是哦。 – Blender