基本上,我想做的是POST在更改时发送数据window.location,就好像用户已提交表单并将其转到新页面一样。我需要这样做,因为我需要传递一个隐藏的URL,并且GET出于美观原因,我不能简单地将其放置在URL中。
POST
window.location
GET
这就是我目前所拥有的,但是它不发送任何POST数据。
if(user has not voted) { window.location = 'http://example.com/vote/' + Username; }
我知道您可以使用发送POST数据jQuery.post(),但是我需要将其与新数据一起发送window.location。
jQuery.post()
因此,回顾一下,我需要通过发送api_url值POST到http://example.com/vote/,同时将用户发送到同一页面。
api_url
http://example.com/vote/
供将来参考,我最终做了以下工作 :
if(user has not voted) { $('#inset_form').html('<form action="http://example.com/vote/' + Username + '" name="vote" method="post" style="display:none;"><input type="text" name="api_url" value="' + Return_URL + '" /></form>'); document.forms['vote'].submit(); }
构造并填写一个隐藏的method=POSTaction="http://example.com/vote"表单并提交,而不是完全不使用window.location。
method=POSTaction="http://example.com/vote"