我有一个在Chrome,Safari,但不是Firefox上工作得很好的表单。
Try#1
<form id="subscribe-form" class="footer-sign-up" action="/subscribe" method="POST">
<input type="text" placeholder="First Name" name="first_name" id="fname" required>
<input type="text" placeholder="Last Name" name="last_name" id="lname" required>
<input id="footer-email" type="text" placeholder="Your Email Address" name="email" required>
<input type="submit" id="subscribe" class="signupbtn" value="sign up">
</form>Try#2
<form id="subscribe-form" class="footer-sign-up" action="/subscribe" method="POST">
<input type="text" placeholder="First Name" name="first_name" id="fname" required>
<input type="text" placeholder="Last Name" name="last_name" id="lname" required>
<input id="footer-email" type="text" placeholder="Your Email Address" name="email" required>
<button type="submit" id="subscribe" class="signupbtn">sign up</button>
</form>结果

网络标签

报头

Params

如何进一步调试这一点呢?
发布于 2018-03-09 21:02:12
我想我可能找到了一些东西;如果您是通过AJAX提交的,但不阻止页面提交,您就会遇到问题。
将代码的一部分更改为:
$('#subscribe').click(function(e){
e.preventDefault();
...这应该只执行AJAX提交,而不是刷新页面。

我还可以通过FireFox提交,将button type="submit"更改为button type="button",这样它就不会本机在新闻上提交页面。
发布于 2018-03-09 20:34:42
您需要向表单中添加一个CSRF令牌。假设这是一个刀片文件:
<form id="subscribe-form" class="footer-sign-up" action="/subscribe" method="POST">
{{ csrf_field() }}
<input type="text" placeholder="First Name" name="first_name" id="fname" required>
<input type="text" placeholder="Last Name" name="last_name" id="lname" required>
<input id="footer-email" type="text" placeholder="Your Email Address" name="email" required>
<input type="submit" id="subscribe" class="signupbtn" value="sign up">
当Laravel中的页面加载时,您可以打印一个CSRF或跨站点请求伪造令牌,这是一个很好的时间。任何POST请求都需要一个当前的请求,否则Laravel将给您一个页面过期的错误。
https://stackoverflow.com/questions/49201622
复制相似问题