javascript - 请求的 URL 不允许使用方法
问题描述
我不知道是什么导致了这个错误。也许我认为这是一件需要改变的小事,但我找不到这个。请帮助我完成这个。我想将文件地址发送到服务器并对其进行格式化,该代码我没有添加,但地址没有被格式化。帮助将不胜感激
<div class="container">
<form class="form-signin" method="post" role="form">
<h2 class="form-signin-heading">Please Sign Up </h2>
<div>
<input type="text" name="address" placeholder="Drivers" class="form-control col-3 mr-4">
</div>
<div>
<button class="btn btn-outline-light d-inline-block" style="width: 150px;float: left;" id="upload">Upload</button>
</div>
</form>
</div>
$(function() {
console.log("working")
$('#upload').click(function() {
console.log("inside is working")
$.ajax({
url: '/signUpUser',
data: $('form').serialize(),
type: 'POST',
success: function(response) {
console.log(response)
console.log(data.address);
},
error: function(error) {
console.log(error);
}
});
});
});
@app.route('/')
def index():
return render_template('index.html')
@app.route('/signUpUser', methods=['GET','POST'])
def signUpUser():
if request.method=='POST':
address=request.form['address']
return jsonify({'address':address});
解决方案
问题是因为您没有阻止标准表单提交。这意味着您正在向当前页面发送标准表单请求,该页面未配置为接收 POST 请求,因此您会看到错误。
要解决此问题,请将submit
事件处理程序附加到,form
并调用preventDefault()
作为处理程序函数的参数提供的事件;
$(function() {
$('form.form-signin').on('submit', function(e) {
e.preventDefault();
$.ajax({
url: '/signUpUser',
data: $(this).serialize(),
type: 'POST',
success: function(response) {
console.log(response)
// console.log(data.address); < commented out as 'data' is not defined anywhere
},
error: function(x, s, e) {
console.log(x, s, e);
}
});
});
});
推荐阅读
- c# - 不要在 localDataBace 中显示插入平铺第二次插入
- routing - openstreetmap 工具路由+高速公路标签/road_class
- r - 如何在 R Shiny 应用程序中使用工作区对象
- cron - 如何在 Mac OSX Mojave 中授予 cron 作业网络摄像头访问权限?
- google-chrome - Chrome - 停止自动更新
- wpf - 带有详细信息面板的类似 GoogleImages 的列表框
- mysql - MySQL根据条件组合多行并将结果连接到一个字段中
- javascript - 打开 Intranet 网站时 Internet Explorer 11 上的 Javascript window.open() 无法正常工作
- c# - Topshelf 服务不发送电子邮件
- vue.js - 从对象中找到一个值的总和