XMLHttpRequest 发送数据中的 HTML 实体编码:空格会导致发送失败?
xmlhttprequest 请求发送数据中的 html 实体编码限制
在使用 xmlhttprequest 发起 post 请求时,通过 setrequestheader 方法设置 content-type 为 application/x-www-form-urlencoded 时,发送的数据会被编码成 url 编码格式。
在这种格式中,html 实体会被编码,使用 来分别表示 . 然而,为了确保数据能够正确发送,需要确保这些实体之间没有空格。
案例说明
在给定的示例中,如果 之间有空格,则发送的数据类似于:
var data = "a=a&b=" + escape("< row id='1'>< /row>");
在这种情况下,xmlhttprequest 会成功发送数据。
问题原因
然而,如果 之间没有空格,则发送的数据类似于:
var data = "A=a&B=" + escape("<row id='1'></row>");
这时,xmlhttprequest 会发送失败,提示危险字符。这是因为 url 编码格式需要 之间没有空格,否则会被视为无效的实体。
因此,在使用 xmlhttprequest 发送 html 实体时,需要确保这些实体之间没有空格。
以上就是XMLHttpRequest 发送数据中的 HTML 实体编码:空格会导致发送失败?的详细内容,更多请关注其它相关文章!