Python谷歌云功能和JavaScriptPost请求



我有一个Python云函数,代码如下:

import requests
import json
def make_func(request):
if request.method == 'OPTIONS':
headers = {
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Methods': 'GET, POST',
'Access-Control-Allow-Headers': 'Content-Type',
'Access-Control-Max-Age': '3600',
'Content-Type': '*',
'Content-Length': "3000"
}
return ('', 204, headers)
request_json = request.get_json()
print(request_json) #THIS SHOWS "NONE" IN THE LOGS
domain = request_json['domain']
headers = {
'Access-Control-Allow-Origin': '*',
'Content-Type': '*',
'Content-Length': "3000"
}    
return (str(domain)), 200, headers)

我想向这个函数发送带有JavaScript xhr post请求的json数据。JS代码如下:

const data = {
domain : "test.com"
}
var domain = "blabla.com";
var xhr = new XMLHttpRequest();
xhr.open('POST', domain, true);
xhr.send(data);
xhr.onreadystatechange = function () {
if (this.readyState == 4 && this.status == 200) {
var result = xhr.responseText;
alert(JSON.stringify(result));
}
}

如果我查看GCF的日志并打印请求,它会显示"无"。在python中的请求变量中找不到"domain"变量。为什么不起作用?

您必须设置标题:

xhr.setRequestHeader('Content-Type','application/json');
xhr.send(JSON.stringify(data));

相关内容

  • 没有找到相关文章

最新更新