XMLHttpRequest POST メソッドを使用して JSON データを投稿する関数を Javascript で作成しています。次のコードは、GET に対して正常に機能します。
function httpGet(myurl, cb){
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange=function(){
if (xmlhttp.readyState==4 && xmlhttp.status==200){
if( typeof cb === 'function' )
cb(xmlhttp.responseText);
}
};
xmlhttp.open("GET",myurl,true);
xmlhttp.send();
}
ただし、次のコードでは、同じ URL を GET で使用すると、常に xmlhttp ステータスが 500 になります。
function httpPost(myurl,data,cb){
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange=function(){
if (xmlhttp.readyState == 4 && xmlhttp.status == 200){
if (typeof cb == 'function'){
cb(xmlhttp.responseText);
}
}
};
xmlhttp.open("POST",myurl,true);
xmlhttp.setRequestHeader("Content-Type", "application/json");
xmlhttp.send(data);
}