2

私の 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");

なにか提案を ?

4

1 に答える 1

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はデフォルトのものなので、明示的に設定する必要はありません。

于 2012-08-26T02:33:19.290 に答える