GET在POST不工作XMLHttpRequest的情况下正常工作

GET working fine where POST in not working XMLHttpRequest

本文关键字:工作 常工作 情况下 POST XMLHttpRequest GET      更新时间:2023-09-26

我的GET请求运行良好,并以xml形式响应。https://mydomain.com/mypage.php?id=123&nm=ak_dhara注意:我们的php页面位于https上。

但是POST不起作用。

xhttp.open("POST"," https://mydomain.com/mypage.php",true);
xhttp.setRequestHeader("Content-type","application/xhtml+xml");
xhttp.send("id=123&nm=ak_dhara");

有什么建议吗?

xhttp.setRequestHeader("Content-type","application/xhtml+xml")错误。如果您想要请求XHTML内容,那么正确的请求头名称是Accept。如果要确定要发送的内容的类型,则发送application/x-www-form-urlencoded。尊重标头的服务器将尝试读取您发送的数据id=123&nm=ak_dhara,作为使用application/xhtml+xml格式编码的特殊类型的请求;没有一个PHP服务器知道如何做到这一点。它可能在某些浏览器中起作用,因为他们知道这不是一个有效的内容类型,并且他们忽略该标头并发送正确的值。

顺便说一下,application/x-www-form-urlencoded是默认的,所以您不必显式地设置它。