我的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");
有任何建议吗?
答案 0 :(得分:1)
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
是默认值,因此您无需明确设置它。