在以/reg.html格式提交表单时,";方法不允许该方法不允许用于请求的URL。”;显示
我正在尝试以下方法:在以/reg.html格式提交表单时,";方法不允许该方法不允许用于请求的URL。”;显示,html,flask,Html,Flask,我正在尝试以下方法: 首先打开homepage.html 如果选择了Register,则移动到reg.html并输入表单。提交表单并进行一些后端处理 如果选择“显示”,则打印已注册的API 我面临的问题是,当我试图填写表单并单击submit时,会显示错误405。因此,进一步的行动是无效的 homepage.html <!DOCTYPE html> <html> <head> <title>API Management Platfor
- 首先打开homepage.html
- 如果选择了Register,则移动到reg.html并输入表单。提交表单并进行一些后端处理
- 如果选择“显示”,则打印已注册的API
<!DOCTYPE html>
<html>
<head>
<title>API Management Platform</title>
</head>
<body>
<h1>Welcome to API Management Platform</h1>
<h2>You can register a new API and also see a list of already registered APIs</h2>
Click on one of the following links!<br>
1. <a href=reg>Register a new API</a><br>
2. <a href=show>Display the list of APIs</a><br>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<title>Register API</title>
</head>
<body>
<h1>Welcome to API Management Platform</h1>
<h2>Please enter the API details</h2>
<form action=. method="POST" enctype="multipart/form-data">
<h3>API Data</h3>
<p>Name: <input type = "text" name = "Name" /></p>
<p>Description: <input type = "text" name = "Description" /></p>
<p>Link: <input type = "url" name = "Link" /></p>
<p>Developer: <input type = "text" name = "Developer" /></p>
<input type="submit" name="my-form" value="Submit"><br>
</form>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>List of APIs</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" />
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
</head>
<body>
<br />
<div class="container" >
<div class="table-responsive">
<h1>Details</h1>
<br />
<table class="table table-bordered table-striped" id="employee_table">
<tr>
<th>API ID</th>
<th>Name</th>
<th>Description</th>
<th>Link</th>
<th>Developed By</th>
</tr>
</table>
</div>
</div>
<br />
</body>
</html>
<script>
$(document).ready(function(){
$.getJSON("https://extendsclass.com/api/json-storage/bin/dabbbff", function(data){
var employee_data = '';
$.each(data, function(key, value){
employee_data += '<tr>';
employee_data += '<td>'+key+'</td>';
employee_data += '<td>'+value.Name+'</td>';
employee_data += '<td>'+value.Description+'</td>';
employee_data += '<td>'+value.Link+'</td>';
employee_data += '<td>'+value.Developer+'</td>';
employee_data += '<tr>';
});
$('#employee_table').append(employee_data);
});
});
</script>
发生错误的原因是: 因为您的表单中有“action=” 在转换为“action=”.”的页面上呈现 哪些路线到:
@app.route('/')
def home():
因为home函数不是用来处理POST方法的(默认为GET)。您得到一个“a 405方法不允许的错误”
默认情况下,如果未分配表单操作,则在将表单路由到其所在页面的功能/路由时
在reg.html中,更改此行
<form action=. method="POST" enctype="multipart/form-data">
到
你的动作
是空的。@ngShravil.py,里面不是空的。@akibrhat,但它只是动作=。
,不是动作=。
@ngShravil.py你说得对。然而,行动=。已转换为action=''。“automaticallyOhh,我不知道。感谢您让我知道。但是,我认为这是一种不好的做法。我实际上还需要做一件事。因此,我希望show.html文件从本地json文件“API_data.json”获取数据“而不是在线链接。它似乎不起作用。该文件很容易从在线json数据存储中获取数据,但无法从本地文件中获取数据。reg.html部分工作正常。请就@harshbimraka单独提问。详细说明,你已经尝试过的。预期的结果是什么,你目前得到的结果是什么。只需附带说明一下如何使用ajax使用flask从前端到后端来回发送数据
<form action=. method="POST" enctype="multipart/form-data">
<form action="{{url_for('my_form_post')}}" method="POST" enctype="multipart/form-data">