xmlhttprequest 请求发送数据限制
在使用 xmlhttprequest 发送请求时,请求数据可能会受到限制。正如示例所示,当请求数据中包含特殊字符 "<" 时,如果该字符后面不跟空格,则请求可能会失败。
具体来说,当 "<" 不带空格时,会被解析为 html 实体字符引用,指示浏览器渲染小于号。这与 xmlhttprequest 发送纯文本数据的方式相冲突,导致请求失败。
为了解决这个问题,需要在 "<" 字符后面添加空格。这样,它就不会被解析为实体字符引用,而是会被视为普通文本并正常发送。
代码修改如下:
var data = "A=a&B=" + escape("< row id='1'></h1>"); // 可以正常发送
需要注意的是,"<" 字符本身并不会导致请求失败,关键是要确保它不被解析为 html 实体字符引用。在必要时,为特殊字符添加适当的转义或 html 实体引用,可以确保请求数据正确发送和处理。