【问题标题】:POST large json string from Javascript to Django将大型 json 字符串从 Javascript 发布到 Django
【发布时间】:2019-10-11 23:13:51
【问题描述】:

我有一个简单的小 Cordova (phonegap) 移动应用程序。我需要选择一个文件,填写其他字段并保存表格。然后我想稍后再发送这些数据。

如何保存表单数据:
将 localStorage 中的字段作为序列化数组的 json 字符串,并将 LocalFileSystem 中的文件作为文件中的 reader.readAsText() (只是带有 base64 字符串的文件)。

我如何向服务器发送数据:
我将 base64 字符串推送到我的序列化数组,并将 ajax 发布到服务器字符串化数据。

我的问题:
我无法将大的 json 字符串(当文件 > 2 MB 时)发送到我的服务器,我收到一个错误:code 414, message Request-URI Too Long

我该如何解决这个问题?

【问题讨论】:

  • 你做错了事。从 javascript 发送 HTTP POST 请求。
  • 我做 $.ajax({...})
  • 检查。我添加了答案。

标签: jquery json ajax django cordova


【解决方案1】:

你应该这样做。

$.ajax({
  type: 'POST',
  url: '<URL_HERE>', // where data should be send
  dataType: 'json',
  data: '{"a": "b"}', // your json data here
  success: function(data) {
      // This will be invoked, if server returns status code 200.
      console.log(data)
  },
});

【讨论】:

    【解决方案2】:

    问题出在 Django 设置中!

    DATA_UPLOAD_MAX_MEMORY_SIZE - 默认为 2.5 MB (2621440)。

    DATA_UPLOAD_MAX_MEMORY_SIZE = 26214400 解决了我的问题 (25MB)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-08-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-06
      相关资源
      最近更新 更多