我正在尝试使用AJAX将我的Javascript变量传递给PHP变量,以便更新我的SQL。目前正在调用该函数,但AJAX没有将数据发送到PHP.PHP。
代码更新:
function placeData(){
//Variable is caled and input is updated//
var hour1Data = document.getElementById("hourDataInput").value;
document.getElementById("hour1").innerHTML = hour1Data;
//Launch AJAX//
$.ajax({
type: "POST",
url: "PHP.php",
data: {hour1Data: "hello", loginName: <?php echo $_POST['loginName'] ?>},
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(result){
alert(result.d);
console.log(result);
}
});
}
//php.php
if(isset($_POST['hour1Data']))
{
echo "something is working";
print_r($_POST); //Check the values here first
$hour1Data = $_POST['hour1Data'];
$sql = "UPDATE `$user` SET `$dateName`='$hour1Data' WHERE hour=1";
if ($conn->query($sql) === TRUE) {
echo "Record updated successfully";
}
else {
echo "problem adding value";
}
}
以下是代码:
$.ajax({
type: "POST",
url: "PHP.php", //Check the url
data: {hour1Data: 1, loginName: "testUser"},
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(result){
alert(result.d);
console.log(result);
}
});
Php代码:
if(isset($_POST['hour1Data']))
{
echo "<pre>";
print_r($_POST); //Check the values here first
$hour1Data = $_POST['hour1Data'];
$sql = "UPDATE `$user` SET `$dateName`='$hour1Data' WHERE hour=1";
if ($conn->query($sql) === TRUE) {
echo "Record updated successfully";
}
else {
echo "problem adding value";
}
}
删除contentType
,因为$_POST用于表单编码的内容类型。你可以在这里查看这个发布的问题以供参考-
具有contentType:';的Ajax调用;application/json';不起作用。
同样重要的是要注意Ajax请求中期望的数据类型以及PHP文件返回的数据类型。放入error
回调,这样您就会知道错误响应是什么。
希望能有所帮助。