我在将数据从ajax发送到php时遇到问题我需要一些帮助
$.ajax({
type: "post",
url: "/raffle.php",
dataType: "json",
data: {
"postraffle": "true",
"title": $("#rtitle").val(),
"message": $("#mess").val(),
"maxentry": $("#maxentry").val(),
"duration": $("#durr").val(),
"filter": $("#reffil").val(),
"split": $("input[name=split]:checked").val(),
"pub": $("input[name=rafflepub]:checked").val(),
"stype": $("input[name=stype]:checked").val(),
"invo": $("input[name=invo]:checked").val(),
"items[]": itms,
"games[]": gmes,
},
success: function(data){
if(data.status == "fail")
{
alert(data.message);
$("#rafBut").removeAttr("disabled");
$("#rafBut").attr("value", "Raffle it!");
}
else if(data.status == "ok")
{
alert(data.message);
}
}
});
并且php脚本在这里
<?php
// getting data from AJAX
$raffle_title = $_POST['title'];
$raffle_message = $_POST['message'];
$raffle_maxentry = $_POST['maxentry'];
$raffle_duration = $_POST['duration'];
$raffle_filter = $_POST['filter'];
$raffle_split = $_POST['split'];
$raffle_pub = $_POST['pub'];
$raffle_stype = $_POST['stype'];
$done = false;
$data = array(
'status' => 'ok',
'message' => 'saved! redirecting you!',
'datakey' => 'HALLEYO!',
);
$host ="localhost"; // enter your host.
$pass =""; // enter your password.
$db = "test"; // Enter your database..
$user ="4"; // enter your username.
# MYSQL Connection
$con=mysqli_connect($host,$user,$pass,$db);
if (mysqli_connect_errno($con))
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
foreach($_POST['items'] as $item){
$query = "INSERT INTO table (heading,content,items) VALUES ('".$_POST['title']."', '".$_POST['message']."','".$item."')";
// this should also be done for each item
if (!mysqli_query($con, $query)) {
printf("Error: %s\n", mysqli_error($con));
}
}
echo $data;
?>
现在上面脚本的功能是从ajax获取数据并将其上传到mysql数据库并向ajax脚本发回一个当前不起作用的响应。 我认为我的mysql查询可能有问题(php mysqli参数化查询) 一些帮助将非常感激。 谢谢!
答案 0 :(得分:4)
尝试替换
echo $data;
带
echo json_encode($data);
回显数据只会给出“数组”字符串,而不是任何JSON编码的
答案 1 :(得分:0)
您无法打印数组!
您必须将echo $data;
改为echo json_encode($data);
。