[英]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.