[英]Python API, consumed by JavaScript, sending JSON data
我有用Python制作的REST API,我想通过JavaScript使用它。 API需要一些数据作为JSON从前端发送,所以我这样调用:
var xhttp = new XMLHttpRequest(),
dataToSend = '{"key":"value"}';
xhttp.onreadystatechange = function() {
// Some logic.....
};
xhttp.open("POST", "URL to the API", true);
xhttp.setRequestHeader("Content-type", "application/json");
xhttp.send(dataToSend);
从服务器我获得500这个原因:
“TypeError:JSON对象必须是str,而不是'dict'”
我试图将MIME类型更改为“text / plain”,“text / html”和其他几个,但它只是将响应更改为:
TypeError:JSON对象必须是str,而不是'NoneType'
后端的人说,API工作正常,他们用下面的python代码测试它
request_result = requests.post('API URL', json=request_data_jsn).json();
知道我能做什么才能起作用?
您必须将dataToSend转换为字符串。 示例:使用JSON.stringify
var xhttp = new XMLHttpRequest(),
dataToSend = {"key":"value"}
xhttp.onreadystatechange = function(data) {
console.log(data);
};
dataToSend = JSON.stringify(dataToSend);
xhttp.open("POST", "URL to the API", true)
xhttp.setRequestHeader("Content-type", "application/json")
xhttp.send(dataToSend);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.