我有两个项目,第一个是Node.JS
。
jsonobj = JSON.stringify(generateMockData)
xhrToSoftware.send(jsonobj);
xhrToAPI.open("POST", "http://127.0.0.1:8000/path/", true);
xhrToAPI.setRequestHeader("Content-Type", "application/json;charset=UTF-8");
xhrToAPI.send(jsonobj);
它将数据发送到第二个项目Django Python
。我可以使用views.py接收数据。
post_data = json.loads(request.body.decode("utf-8"))
value = post_data.get('data')
print(value)
但是我想直接把数据从Node.JS
拿到我的Django Templates (javascript or jquery)
上,可能吗?
例如:
<script>
//get the data that posted by the node.js
</script>
最新消息:
我试着用下面的答案来回答这个问题:
fetch('http://127.0.0.1:8000/path/')
.then(response => response.json())
.then(data => {
console.log(data);
})
.catch(error => console.error(error));
但我遇到了一个错误它说:
SyntaxError: Unexpected token '<', "<!--
<d"... is not valid JSON
我想这是因为我在我的www.example.com中返回了一个html文件views.py:
def data(request):
if request.method == 'POST':
post_data = json.loads(request.body.decode("utf-8")) # for simulation
value = post_data.get('data')
return render(request, 'waterplant/iot/data.html')
因此,我将其更改为jsonresponse,如下所示:
def data(request):
if request.method == 'POST':
post_data = json.loads(request.body.decode("utf-8")) # for simulation
value = post_data.get('data')
return JsonResponse({"msg": value}, status=200)
之后我遇到了一个错误ValueError: The view views.data didn't return an HttpResponse object. It returned None instead.
,我想那是因为值还为空。我该如何防止这种情况?如果我使用Node.JS
发送数据,我希望返回的是return JsonResponse({"msg": value}, status=200)
或者你知道我可以直接在Django Python模板<script> here </script>
中访问数据吗
2条答案
按热度按时间taor4pac1#
*基本js fetch()
如果使用方法“GET”:
如果使用方法“POST”:
ctehm74n2#
如果要从您的网页发出获取请求,请使用
fetch()