1

打开 XmlHttpRequest POST 连接后

var http = new XMLHttpRequest();
http.open("POST", url, true);

有些人建议在发送请求之前包含这些额外的标头:

http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
http.setRequestHeader("Content-length", params.length);
http.setRequestHeader("Connection", "close");

在 Apache+PHP 服务器上是否需要?没有这些标头,它在我的服务器上运行良好。

4

1 回答 1

1

您的代码在没有标题的情况下可以正常工作,因为application/x-www-form-urlencoded默认情况下post content-type您可以在控制台中看到它。但如果您sending a file必须将其专门设置为multipart/form-data仅服务器接受文件。此外,如果服务器没有发送正确的标题作为响应,它变得不可能从客户端读取响应的类型,例如在需要 json 响应的情况下,APPLICATION/JSON否则将被解释为text/html.

于 2013-03-28T08:40:06.880 回答