このjQueryのコードが動作している:jQueryのJavaScriptの対アヤックス 'POST' 機能
$.ajax({
type: "POST",
url: "file.php",
data: { json: json },
complete: function (data) {
var result = data.responseText;
console.log(result); // logs 'echo' from PHP file
}
});
こののJavaScriptコードはまだ機能していません。
var xhr = new XMLHttpRequest();
xhr.open("POST", "file.php", true);
xhr.setRequestHeader('Content-Type', 'application/json');
xhr.onreadystatechange = function() {
if (xhr.readyState == 4 && xhr.status == 200) {
var result = xhr.responseText;
console.log(result); // supposed to log 'echo' from PHP file
}
}
xhr.send(JSON.stringify(json));
では、これら2つの方法ではないです同等か、私は何か不足していますか?
if(isset($_POST['json'])){
$obj = json_decode($_POST['json']);
//some php operation
// echo $obj keys and values
}
あなたは()https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest – Nitin
リクエストヘッダが間違っている可能性があります( 'する必要があります開いた後setRequestHeader()を呼び出す必要があります(JSON.stringify(json)); ' – Will
@良いキャッチ、私はそれを行う必要があると思うが、しなかった修理する。 – Wagtail