首页 > 解决方案 > 未捕获的类型错误:尝试发送包含文件的数据的 JSON 对象时非法调用

问题描述

我正在尝试向服务器发送 POST 请求。请求正文是一个 JSON 对象,包含一些对象、文本、文件和数组。

但是 jQuery 返回“未捕获的类型错误:非法调用”的错误。

我用谷歌搜索了这种情况,并应用了一些解决方案,例如将对象发送到数组(链接)中,但它对我不起作用。

这是我要发送的 JSON 数据:

在此处输入图像描述

JS代码是:

$.ajax({
  url: 'send.php',
  data: {
    'bbody': lastBody
  },
  type: 'POST',
  success: function(res) {
    if (res == 'success') {
      alert('success');
    }
  }
});

lastBody是 JSON 对象。

标签: javascriptjson

解决方案


对象data必须是字符串。 data: JSON.stringify({key: “value”, key2:”value3”})


推荐阅读