我认为存在一些语法错误或概念错误。
我有一个简单的 AJAX 调用,我将 JSON 字符串传递给 PHP 文件。这是 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 中是“未定义的”?