こんにちは、私はJavascriptを使ってPHPにAjax経由でJsonを送信しようとしています。ファイアバグでデータを表示すると、データはindex.htmlによって正しく送信されます。正しいデータでJsonタイプを示します。 しかし、私はPHP上でJSONを読むことができないようです。 $ _POSTを使用してアクセスできません。 $ _POST ['name']を使用しようとしましたが、応答がありません。 $ _POSTを使用しようとすると、応答は配列になります。 私を助けてもらえますか?JsonをAjaxを使って渡すPHPを使ってPHPを動作させないでください
ここは私のJavaScriptコードです。
<html>
<head>
<script type="text/javascript">
//Create Http request depending on browser
var xmlhttp;
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");}
xmlhttp.onreadystatechange=function(){
if (xmlhttp.readyState==4 && xmlhttp.status==200){
document.getElementById("myDiv").innerHTML=xmlhttp.responseText;}
}
// Function to create
var url = "control.php";
xmlhttp.open("POST",url,true);
xmlhttp.setRequestHeader("Content-Type", "application/json; charset=utf-8");
var data=JSON.stringify({"name":"John", "time":"2pm"});
xmlhttp.send(data);
}
</script>
</head>
<body>
<h2>AJAX</h2>
<button type="button" onclick="loadXMLDoc()">Request data</button>
<div id="myDiv"></div>
</body>
</html>
これは私のPHPコード
<?php
include_once('JSON.php');
$json = new Services_JSON();
$value = $json->decode($_POST['name']);
echo $value;
?>
では数日間、この上で働いていると私は本当にあなたが提供することができます任意の助けに感謝します。 ありがとうございました!
JavaScriptライブラリを使用しない理由は? –
jQuery.ajax()を使用します。 FirefoxのFirebugアドオン(タブコンソールまたはネットワーク) – peipst9lker
でprint_r($ _ POST)を実行すると、$ _POSTグローバル変数が表示されます。たぶんそれはあなたの問題を解決するのに役立ちます –