我希望有一个简单的网站能够从服务器发送和接收数据。至于服务器,它将是一个使用MongoDB和Mongoose的javascript express服务器。
从客户端网站向服务器发出POST和GET请求的最佳方法是什么。请注意,我不想使用表单。我是否能够从用户接收值,然后按下按钮,调用javascript脚本将数据发布到服务器?这是我第一次制作这样的东西,所以请尽量让你的答案变得愚蠢/解释。
答案 0 :(得分:0)
是的,这是可能的,实际上并不是很困难。您可以使用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.
});
答案 1 :(得分:0)
如果你正在使用python,那么试试Flask web app它简单而且最好我也使用这个
安装烧瓶
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 :(得分:0)
您可以以RESTful方式与服务器交互,其中服务器将充当REST API,客户端将发送GET,POST请求以获取或发送数据。您可以使用的潜在方法是jquery
AJAX调用,axios
包,fetch
API。
可以说它与fetch
API一起使用,因为它的HTML5功能:FETCH API。它不需要任何外部包,例如axios
,或者如果您正在使用不同的框架,则强制您使用jquery
。但是,如果您的用例需要高级功能,请转到axios
。
客户端和服务器之间进行通信的另一种方法是使用 s 连接。由于您使用的是NodeJS服务器,因此可以使用socket.io
。这将无法实现单向实时数据流。如果有任何更新,服务器可以推送任何东西,而不是客户端不断检查服务器更新。在这里查看SocketIO