ajax提交表单成功后,页面报错405

文章讲述了在使用Ajax进行POST提交表单时遇到405错误的原因,该错误是由于form标签的POST请求与Ajax请求冲突所致。通过将form标签替换为div等其他标签,可以避免这个问题,从而成功提交表单。
摘要由CSDN通过智能技术生成

ajax提交表单成功后,页面报错405,找了很多原因,最后发现是因为form标签和ajax的post请求冲突,导致405错误,将form改成其他的标签就没问题了。

form标签会提交post请求,ajax也会提交post请求,两个请求相冲突

原本的代码如下:

<form method="post" name="myform" id="myform">
	<dl>
		<dt><span>*</span>您的姓名:</dt>
		<dd>
			<input type="text" name="info[uname]" id="uname" placeholder="请输入姓名" required>
	    </dd>
    </dl>
    <dl>
    	<dt><span>*</span>您的电话:</dt>
    	<dd>
    	<input type="text" maxlength="11" name="info[tel]" id="tel" placeholder="请输入您的电话" oninput="value=value.replace(/[^\d]/g,'')" required>
    	</dd>
	 </dl>
      <input type="submit" name="dosubmit" id="dosubmit" value="提交" onclick="submitData()">
</form>

修改后的代码如下

<div id="myform">
	<dl>
		<dt><span>*</span>您的姓名:</dt>
		<dd>
			<input type="text" name="info[uname]" id="uname" placeholder="请输入姓名" required>
	    </dd>
    </dl>
    <dl>
    	<dt><span>*</span>您的电话:</dt>
    	<dd>
    	<input type="text" maxlength="11" name="info[tel]" id="tel" placeholder="请输入您的电话" oninput="value=value.replace(/[^\d]/g,'')" required>
    	</dd>
	 </dl>
      <input type="submit" name="dosubmit" id="dosubmit" value="提交" onclick="submitData()">
</div>
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 如果您使用 elementui 的 ajax 方法提交表单并希望在提交成功后刷新页面,可以在 ajax 方法的 `success` 回调函数中使用 `location.reload()` 方法来刷新页面。 例如: ``` this.$ajax({ url: '/api/submit-form', method: 'post', data: formData, success: function (response) { // 在这里执行刷新页面的操作 location.reload(); } }); ``` 注意,在刷新页面之前,您可能需要先执行一些其他操作,例如关闭弹出窗口或提示用户提交成功。 ### 回答2: 如果使用ElementUI进行ajax提交成功后刷新页面,可以通过以下步骤实现: - 在ajax请求的success回调函数中,调用window.location.reload方法刷新页面。 - 首先,在页面上引入ElementUI的相关资源文件,确保ElementUI的样式和功能能够正常加载和渲染。 - 然后,添加一个事件监听器,当提交按钮被点击时,执行ajax请求。 - 在ajax请求的success回调函数中,调用window.location.reload方法刷新页面。这会重新加载当前页面,并执行一次完整的页面生命周期,包括重新加载所需的资源文件、重新执行页面的初始化操作等。 - 最后,根据具体的业务需求,可能还需要在页面刷新前保存一些已修改的数据,以便刷新后能够正确显示。 需要注意的是,这种方法会重新加载整个页面,可能会导致用户当前的操作和状态丢失。如果希望只更新某个部分的内容而不刷新整个页面,可以考虑使用Vue.js等前端框架来实现局部刷新的功能。 ### 回答3: 使用Element UI中的Ajax方法提交成功后刷新页面,可以通过以下步骤实现: 1. 在HTML页面中引入Element UI的相关文件,确保能够使用Element UI的组件和方法。 2. 在JavaScript代码中使用Ajax方法向服务器提交数据。可以通过axios或者Element UI提供的$this.$http.post进行Ajax请求。 例如使用axios,可以使用如下代码: ```javascript axios.post('提交地址', 参数) .then(function (response) { console.log(response); // 提交成功后执行刷新页面的逻辑 window.location.reload(); }) .catch(function (error) { console.log(error); }); ``` 3. 在Ajax请求的then方法中,当提交成功后执行刷新页面的逻辑。可以使用`window.location.reload`方法重新加载当前页面来实现页面刷新。 总结: 使用Element UI的Ajax方法提交成功后刷新页面,可以通过使用axios或者$this.$http.post等方法发送Ajax请求,然后在请求成功的回调函数中执行`window.location.reload`来实现页面刷新。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值