【问题标题】:Http request with UTF-8 error?带有 UTF-8 错误的 Http 请求?
【发布时间】:2026-02-08 16:35:01
【问题描述】:

我必须使用 UTF-8 发送此请求,但它不起作用。

如何使用 UTF-8 格式发送此请求?

 var request = new ActiveXObject("Microsoft.XMLHTTP");

    request.onreadystatechange = function()
    {
       if (request.readyState == 4)
        {
            // ret
        }
    }

    httpUrl="/ISV/AddCustomerWebSite/Default.aspx?";
    httpUrl = httpUrl + "vendorID="+paramsList[0]+
                "&title="+paramsList[1]+
                "&planTypeID=" +paramsList[2];

    request.open("GET", httpUrl);
    request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; Charset=utf-8");
    request.send(null);

【问题讨论】:

  • 在将参数值添加到 URL 之前,您需要使用 encodeURIComponent() 对参数值进行编码。
  • 你得到什么错误?
  • encodeURIComponent() 被我保存了
  • 所以@Pointy 将其发布为答案..

标签: javascript utf-8 xmlhttprequest


【解决方案1】:

这是我评论的答案形式:错误可能与参数值未经过 URL 编码有关:

 httpUrl = httpUrl + "vendorID=" +
   encodeURIComponent(paramsList[0]) +
   "&title=" +
   encodeURIComponent(paramsList[1]) +
   "&planTypeID=" +
   encodeURIComponent(paramsList[2]);

该编码将(几乎可以肯定)由您的服务器端框架透明地取消。

【讨论】: