首页 > 解决方案 > jQuery(form).serialize() 因“URIError:格式错误的 URI 序列”而失败

问题描述

我有一个网络应用程序,可以让用户评论彼此的帖子。我们使用jQuery.ajax()将新的评论发送到服务器,它似乎在我们的测试中可靠地工作。

jQuery(".post form.add-comment").on("submit", function(event) {
  event.preventDefault();
  jQuery.ajax({
    type: "POST",
    url: "/comment",
    data: jQuery(this).serialize()
  });
});

但是,我们会自动从用户那里收集客户端 JavaScript 错误日志(使用 Sentry),并且偶尔会出现如下所示的错误:

URIError: malformed URI sequence jquery.min.js:4:25041

这个错误似乎阻止了评论被发送到我们的服务器,所以我们无法判断用户试图发布的内容可能导致了这个错误。

什么可能导致此错误发生,我们如何防止它?

标签: javascriptjquerycharacter-encodingurlencode

解决方案



推荐阅读