【问题标题】:How to make html website make POST and GET requests?如何让 html 网站发出 POST 和 GET 请求?
【发布时间】:2018-03-07 04:57:28
【问题描述】:
我希望有一个简单的网站能够从服务器发送和接收数据。至于服务器,它将是一个使用 MongoDB 和 Mongoose 的 javascript express 服务器。
从客户端网站向服务器发出 POST 和 GET 请求的最佳方式是什么。请注意,我不想使用表单。我是否能够从用户那里接收一个值,然后在按下按钮时调用 javascript 脚本将数据发布到服务器?这是我第一次做这样的事情,所以请让你的答案尽可能地低调/解释。
【问题讨论】:
标签:
javascript
jquery
html
express
【解决方案1】:
如果您使用的是 python,请尝试 Flask web 应用程序,它简单且最好,我也在使用它
安装烧瓶
pip install flask
HTML表单
<form action='/adduser'>
<input type='text' name='q'></input>
<button type='submit'></button>
</form>
在 python 终端中
from flask import request , Flask, Markup
app = Flask(__name__)
@app.route('/adduser')
def adduser():
user = request.args.get('q')
import os
os.system('echo "%s" > log.txt' % user)
#adding user detail for log.txt
html = '<p> Hello %s </p>' % user
html = Markup(html)
return html
app.run(host='127.0.0.1',port='8000')
【解决方案2】:
是的,这是可能的,实际上并不难。您可以使用 angular.js 之类的东西来控制您的前端并使用它来发送您的请求,或者我建议使用 jquery ajax 来发送 POST 和 GET 请求。
$.ajax({
type: "POST", // Type of Request
url: url, // Url to Post to
data: data, // What you are send. Not applicable for GET Requests
success: function(success){
// Enter code after scucess of request
},
dataType: dataType // Type of Data you are sending. Would recommend JSON.
});
Jquery Ajax Post Documentation
【解决方案3】:
您可以以 RESTful 方式与服务器交互,其中服务器将充当 REST API,客户端将发送 GET、POST 请求以获取或发送数据。您可以使用的潜在方法是jquery AJAX 调用、axios 包、fetch API。
可以说与fetch API 一起使用,因为它是HTML5 功能:FETCH API。它不需要任何外部包,例如axios,或者如果您使用不同的框架,则强制您使用jquery。但是,如果您的用例需要高级功能,请选择 axios。
客户端和服务器之间通信的另一种方法是使用 s 连接。由于您使用的是 NodeJS 服务器,因此您可以使用 socket.io。这将使您无法进行单向实时数据流。如果有任何更新,服务器可以简单地推送任何东西,而不是客户端不断检查服务器更新。在这里寻找SocketIO