2012-09-15 73 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