можете ли вы получить файл json из xmlhttprequest?

#javascript #python #json #ajax #xmlhttprequest

Вопрос:

Я пытаюсь создать файл JSON из переменной «запрос» в моем коде python и извлечь его в javascript с помощью XMLHttpRequest. Мой код python правильно выводит «запрос» в командную строку, однако, консоль.вывод журнала запроса XMLHttpRequest является «неопределенным». если я использую «console.log(xmlhttp.responseText);» в части кода javascript ниже, консоль выводит все содержимое моего html-файла. Кто-нибудь знает, как получить эту информацию из «запроса» в мой javascript в виде JSON?

 import json import sys import cgi  class MapDetailView(generic.DetailView):  model = Map  request = json.loads('{"name": "woods", "size": 1000}')    def output(content):  sys.stdout.write('Content-Type: application/json')  sys.stdout.write(content)    form = cgi.FieldStorage()    fail=0  try:  myData = json.dumps(request)  except:  fail=1  else:  if myData == "":  fail=1   if fail == 1:  output('Who are you?')    output(myData)  

фрагмент кода java-скрипта

 function callAjax(url) {  var xmlhttp;  xmlhttp = new XMLHttpRequest();  xmlhttp.onreadystatechange = function()  {  if (xmlhttp.readyState == 4 amp;amp; xmlhttp.status == 200)  {  console.log(xmlhttp.responseJSON);  }  }  xmlhttp.open("GET", url, true);  xmlhttp.send(); }  callAjax('http://127.0.0.1:8000/catalog/map/1');  

ИЗМЕНИТЬ: сделал предложения Бармара, но все еще ведет себя так же

Комментарии:

1. str(request) это не JSON. Воспользуйся json.dumps(request)

2. Это должно быть Content-Type: application/json

3. xmlhttp.response.json должно быть xmlhttp.responseJSON