繁体   English   中英

使用XMLHttpRequest发送数据

[英]Sending data with XMLHttpRequest

我有一个网站,当按下按钮时,应该将名称发送到python脚本(在第三方网站上)。 然后,此python脚本会将名称改为大写,然后将其返回给网站。

现在,按下按钮时可以正确发送XMLHttpRequest,但是我不确定如何使用XMLHttpRequest正确发送数据,以及如何在python脚本中访问此数据。

XMLHttpRequest的:

document.getElementById("myButton").addEventListener("click", 
    function() {
        var myRequest = new XMLHttpRequest();

        myRequest.open('GET', 'https://example.com/');

        myRequest.onreadystatechange = function () { 
            if (myRequest.readyState === 4) {
                alert(myRequest.responseText);
            }
        }
        myRequest.send("Bob"});
    }
);

Python脚本:

from flask import Flask, jsonify
from flask_cors import CORS
from requests import request

app = Flask(__name__)
CORS(app)

@app.route("/", methods=["GET"])
def hello_world():
    return jsonify(name = (name_sent_by_XMLHttpRequest).upper()) # Should return "BOB"

if __name__ == '__main__':
    app.run()

我对javascript的XMLHTTPRequest一无所知,但是在某个时候,您需要将name发送到python服务器,对吗? 如何做到这一点取决于您,但是基于GET的选项:

带有参数的GET请求: https://example.com/?name=your_name_goes_here : https://example.com/?name=your_name_goes_here name https://example.com/?name=your_name_goes_here

在烧瓶应用中,在路由"/"上侦听的函数现在将可以访问该arg,例如

name = request.args.get('name', '')

那么您可以将其uppercase()并以某种格式返回-可能是XML?

return Response(my_xml, mimetype='text/xml')

根据您的评论进行更新:通常在flask函数中,您将使用flask request对象来获取URL参数。 在您的示例中,您将requests模块作为request导入,而不是使用它,而是破坏了flask.request命名空间。 将您的导入更改为类似的内容,它应该可以正常工作:

from flask import Flask, jsonify, request
from flask_cors import CORS
import requests

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM