我的表格在Chrome,Safari上完美运行,但不是Firefox。
options: { name: '[name].[ext]' }
<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>
网络标签
如何继续进行调试?
我现在对任何建议持开放态度。
任何提示/建议/帮助都将非常感谢!
答案 0 :(得分:1)
我想我可能找到了一些东西;如果你通过AJAX提交,但没有阻止提交页面,那么你就会遇到问题。
将部分代码更改为:
$('#subscribe').click(function(e){
e.preventDefault();
...
这应该只提交AJAX,而不是刷新页面。
我也可以通过将button type="submit"
更改为button type="button"
来通过FireFox提交,这样它就无法在网页上原生提交页面。
答案 1 :(得分:0)
您需要在表单中添加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会给你一个页面过期错误。