javascript json到php变量
我正在将一些json传递给php文件,但php中的变量仍然为空。我确信这是一些小的语法错误,但我无法找到导致此错误的原因,任何帮助都将不胜感激 JAVASCRIPTjavascript json到php变量,php,jquery,ajax,Php,Jquery,Ajax,我正在将一些json传递给php文件,但php中的变量仍然为空。我确信这是一些小的语法错误,但我无法找到导致此错误的原因,任何帮助都将不胜感激 JAVASCRIPT if(score >= 100) { console.log("HERE WE GO"); $.ajax({ type: "POST", url: "FAKENAME.php", data: { "data": "{ \"id\": " + id + ", \"q
if(score >= 100)
{
console.log("HERE WE GO");
$.ajax({
type: "POST",
url: "FAKENAME.php",
data: { "data": "{ \"id\": " + id + ", \"quiz\": \"" + getDateTime() + "\"}" },
}).done(function (data) {
console.log(JSON.stringify(data) + "This is the data on .done");
//alert( data );
})
.fail(function () {
console.log("error");
//alert( "error" );
})
.always(function (data) {
console.log("finished");
console.log(JSON.stringify(data));
//alert( "finished" );
});
}
PHP
请添加您的php页面的完整url,然后您必须像这样检查print\r($\u POST)
您可以像这样简化代码什么是
getDateTime()
?它在调用php文件时返回一个时间戳为什么不只是在php文件中创建JSON,而只是传递“id”在您的ajax?Javascript帖子中,在处理了标题之后,最终需要从原始输入中提取到PHP,即,$json\u obj=json\u decode(file\u get\u contents(“php://input“”)
可能重复的数据类型:“json”,添加此项谢谢您的帮助这有助于解决我的问题
$data = json_decode($_POST['data']);
$sql = $conn->prepare("SELECT * FROM FAKEDATABASETABLENAME WHERE id = :id");//no error
$sql->bindParam(':id', $data->id);
//$sql->bindParam(':quiz', $data->quiz);
$sql->execute(); //syntax error
if(!empty($data->id))
{
$qry = $conn->prepare("UPDATE FAKEDATABASETABLENAME SET Quiz = '2018-06-27 14:44:49' WHERE id = 000007"); //no error and result
$qry->bindParam(':id', $data->id);
$qry->bindParam(':quiz', $data->quiz);
$qry->execute();
}
else
{
$mailto = "FAKEEMAIL.com" ; //Recipent of the email
$from = "From: PHP_DEBUG";
$subject = "PHP_DEBUG";
$data = json_decode($_POST['data']);
$content = "id is: " . $data->id. " plaese note. quiz is: " . $data->quiz. " please note.";
mail($mailto, $subject, $content, $from);
}
var person = {
name: $("#id-name").val(),
address:$("#id-address").val(),
phone:$("#id-phone").val()
}
$('#target').html('sending..');
$.ajax({
url: '/test/PersonSubmit',
type: 'post',
dataType: 'json',
contentType: 'application/json',
success: function (data) {
$('#target').html(data.msg);
},
data: JSON.stringify(person)
});
if(score >= 100)
{
var params = JSON.stringify({id: id, quiz: getDateTime()})
$.ajax({
type: "POST",
url: "FAKENAME.php",
dataType: "json",
data: {data: params}
}).done(function (data) {
console.log(JSON.stringify(data) + "This is the data on .done");
}).fail(function () {
console.log("error");
//alert( "error" );
}).always(function (data) {
console.log("finished");
console.log(JSON.stringify(data));
//alert( "finished" );
});
}