如何在将一些数据发布到新控制器索引功能时使用JQuery将新页面加载到浏览器?
我在考虑window.location = url?foo = bar但是有没有办法发布数据,所以?foo = bar没有出现在网址中?
有些评论建议使用Ajax,但它不是ajax的全部内容,它处理时不会离开或刷新它正在运行的当前页面?
答案 0 :(得分:1)
使用
window.location.href
无法发送 POST 请求。
您需要做的是设置一个包含数据字段的表单标记,将表单的action属性设置为URL,将method属性设置为POST,然后在表单标记上调用submit方法。
或者你可以通过以下方式来做到这一点:
在HTML中添加一个表单,如下所示:
<form style="display: hidden" action="/the/url" method="POST" id="form">
<input type="hidden" id="var1" name="var1" value=""/>
<input type="hidden" id="var2" name="var2" value=""/>
</form>
并使用JQuery来填充这些值(当然你也可以使用javascript来做类似的事情)
$("#var1").val(value1);
$("#var2").val(value2);
然后最后提交表格
$("#form").submit();
在服务器端,您应该能够通过检查var1和var2来获取您发送的数据, 有关详细信息,请参阅this
希望它会有所帮助!