javascript - 如何响应 XMLHttpRequest

标签 javascript python google-app-engine xmlhttprequest

我正在使用 Javascript 询问我们的应用程序(在 Google App Engine 中)用户要上传的文件是否已经在他的文件列表中(他将覆盖)。

我知道如何发送请求,但如何使用 Python 从服务器创建响应?

这是请求:

var req = new XMLHttpRequest();

  req.open('POST', 'https://safeshareapp.appspot.com/upload', async);

  req.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  req.setRequestHeader("Content-length", body.length);
  req.setRequestHeader("Connection", "close");

  if (async) {
    req.onreadystatechange = function() {
      if(req.readyState == 4 && req.status == 200) {
        var response = null;
        try {
         response = JSON.parse(req.responseText);
        } catch (e) {
         response = req.responseText;
        }
        callback(response);
      }
    }
  }

  // Make the actual request
  req.send(body);

如您所见,在一切正常后我们从请求中获取了 responseText,但我的问题是我们如何在服务器端填写 responseText 字段??

最佳答案

class MyRequestHandler(webapp.RequestHandler):
    def get(self):
        import json
        result = {"filename": xxx} // just an example, result can be any Python object
        json_obj = json.dumps(result)
        self.response.out.write(str(json_obj))

关于javascript - 如何响应 XMLHttpRequest,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8456002/

相关文章:

javascript - 使用 Python 和 Javascript 的 AES CTR 模式出现奇怪问题

python - 具有随机权重的神经网络无法学习

python - 如何解决 django 的 send_mail 无法访问网络的问题?

javascript - 在不影响其他类似对象的情况下删除 ng-repeat 中的对象

javascript - setCenter() 然后在 map Canvas 上将标记垂直向上移动

javascript - AngularJS 表单验证延迟?

python - 无法在 Anaconda Python 3.6.4 Windows 10 中安装 Beautiful Soup

google-app-engine - 从应用程序引擎访问 Bigquery。示例已过时

google-app-engine - 即使空闲实例可用,App Engine 加载请求

google-app-engine - 自定义域不适用于谷歌应用引擎