【问题标题】:$.ajax “Uncaught TypeError: Illegal invocation”$.ajax “未捕获的类型错误:非法调用”
【发布时间】:2017-06-16 15:59:38
【问题描述】:

由于某种原因,它出现了“Uncaught TypeError: Illegal invocation”错误,我不知道为什么,有什么想法吗?

AutomatedEmailSend: function(ele) {
        var $ele = $(ele);

        var formData = new FormData();
        formData.append("ShopId", $ele.data("shopid"));
        formData.append("AutomatedEmailAddress", $("#AutomatedEmailAddress").val());
        formData.append("AutomatedEmailEnabled", $("#AutomatedEmailEnabled")[0].checked);
        formData.append("AutomatedEmailTime", $("#AutomatedEmailTime").val());

        $.ajax({
            url: $ele.data("url"),
            data: formData,
            method:"POST"
        }).done(function(response) {
            trrNoty("Email sent!");
        }).fail(function(error) {
            trrNoty(error.statusText,"error");
        });
    },

【问题讨论】:

  • 这个错误是在哪里抛出的?
  • @Justinas 刚碰到 $.ajax({ line
  • 如果有可能就做一个js小提琴
  • 它返回什么$ele.data("url")
  • 检查您的参数((formData))是否正确传递,这意味着正确的值格式,如果可能,您会分享示例参数(formData)值

标签: javascript jquery ajax


【解决方案1】:

你尝试过使用

 processData: false

【讨论】:

  • 解决了这个问题,你能解释一下为什么吗?
  • 默认情况下,作为对象(技术上是字符串以外的任何内容)传入数据选项的数据将被处理并转换为查询字符串,适合默认的内容类型“应用程序/ x-www-form-urlencoded”。如果要发送 DOMDocument 或其他未处理的数据,请将此选项设置为 false。 – BOTJr
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-06-24
  • 2019-04-29
  • 2011-05-15
  • 1970-01-01
  • 2014-10-21
  • 1970-01-01
相关资源
最近更新 更多