首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >表单不是通过Firefox提交的

表单不是通过Firefox提交的
EN

Stack Overflow用户
提问于 2018-03-09 20:25:16
回答 2查看 290关注 0票数 0

我有一个在Chrome,Safari,但不是Firefox上工作得很好的表单。

Try#1

代码语言:javascript
复制
<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

代码语言:javascript
复制
<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

如何进一步调试这一点呢?

EN

回答 2

Stack Overflow用户

发布于 2018-03-09 21:02:12

我想我可能找到了一些东西;如果您是通过AJAX提交的,但不阻止页面提交,您就会遇到问题。

将代码的一部分更改为:

代码语言:javascript
复制
$('#subscribe').click(function(e){
  e.preventDefault();
  ...

这应该只执行AJAX提交,而不是刷新页面。

我还可以通过FireFox提交,将button type="submit"更改为button type="button",这样它就不会本机在新闻上提交页面。

票数 1
EN

Stack Overflow用户

发布于 2018-03-09 20:34:42

您需要向表单中添加一个CSRF令牌。假设这是一个刀片文件:

代码语言:javascript
复制
<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将给您一个页面过期的错误。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49201622

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档