我有以下JavaScript代码:
<script src='https://ajax.googleapis.com/ajax/libs/jquery/1.12.2/jquery.min.js'></script>
<script>
function sterge(id_user){
console.log(id_user);
var mesaj_post ='id_user=' + id_user;
$.ajax({
type: 'post',
url: 'deleteStudent.php',
data: mesaj_post,
dataType: 'text',
cache: false,
success:function(data){
console.log(data);
},
error: function (xhr, ajaxOptions, thrownError) {
console.log(thrownError);
}
});
}
</script>
问题是在函数调用的PHP文件中,POST是空的,我不明白为什么。函数的参数不为空/ null,脚本结果为 SUCCESS
PHP代码:
<?php
include 'connect.php';
if(isset($_POST['id_user']))
echo $_POST['id_user'];
else
echo "empty post";
?>
你可以帮我解决一下吗?任何帮助将不胜感激。
谢谢!
答案 0 :(得分:0)
正如 @charlietfl 首先在评论中所说,替换是问题所在。但不仅仅是那一个。 表单也在进行替换。
谢谢!
答案 1 :(得分:0)
我在评论中指出
删除window.location.replace - 它用GET调用你的php而没有id_user
如果您也发布了表单,我们可能已经看到您没有取消提交。我希望你能用
之类的东西做到这一点$("#formID").on("submit",function(e) {
e.preventDefault();
$.post("deleteStudent.php",{ "id_user":$("#id_user").val() }, function(data) {
console.log(data);
});
});
答案 2 :(得分:-1)
当然会发生此错误,您传递的字符串不是josn对象来更正此错误,您应该在javascript代码中执行以下操作:mesaj_post ={'id_user': id_user};
:)
答案 3 :(得分:-1)
尝试使用此代码可能对您有所帮助
function sterge(id_user){
console.log(id_user);
var mesaj_post = {
"id_user":id_user
};
$.ajax({
type: 'post',
url: 'deleteStudent.php',
data: mesaj_post,
dataType: 'text',
cache: false,
success:function(data){
console.log(data);
},
error: function (xhr, ajaxOptions, thrownError) {
console.log(thrownError);
}
});
}