構文エラーまたは概念エラーがあると思います。
JSON文字列をPHPファイルに渡す単純なAJAX呼び出しがあります。AJAX 呼び出しは次のようになります。
<script>
$(document).ready(function () {
$("#btn").click(function() {
var id = $('#id').val();
var name = $('#name').val();
var Address = $('#Address').val();
$.ajax({
url: "connection.php",
type: "POST",
data: { topost : "{id':'" + id + "','name':'" + name + "','Address':'" + Address + "'}"},
datatype: "jsonp",
success: function (status) {
if (status.success == false) {
alert("Failure!");
} else {
alert("Success!");
}
}});
});
});
</script>
これは、サーバー側の PHP ファイルの文字列を解析しようとしている方法です。
<?php
header('Content-type: application/json');
$server = "localhost";
$username = "root";
$password = "";
$database = "jqueryex";
$con = mysql_connect($server, $username, $password);
if($con) { echo "Connected to database!"; }
else { echo "Could not connect!"; }
//or die ("Could not connect: " . mysql_error());
mysql_select_db($database, $con);
$thedata= json_decode($_POST['topost']);
echo ($thedata);
mysql_close($con);
?>
私の質問は:
'undefined index topost'
次の行でエラーが発生するのはなぜですか。
$thedata= json_decode($_POST['topost']);
私topost
は私のAJAXから来ていますよね?では、なぜ私のPHPで「未定義」なのですか?