我需要帮助,因为我被困住了,不知道出了什么问题,我尝试发送用户点击按钮" id"到php从同一页面的数据库中获取相关数据
$(".button_class").on("click", function() {
ToEditId = $(this).attr('id');
console.log(ToEditId ); //to check clicked id is Ok
$.ajax({
type: "POST",
url: same/php/page/path,
data: {
ToEditId: ToEditId
},
success: function(res, data) {
console.log(res, data);
},
error: function(err) {
alert(err);
}
});
});
控制台日志中的ajax打印成功,这里是php代码,用于获取值,如果点击了id
<?php
if(isset($_POST['ToEditId'])){
$to_edit_id=$_POST['ToEditId'];
var_dump($to_edit_id);
}
但是在php文件中没有任何事情发生!!
答案 0 :(得分:1)
预期的行为是什么。
PHP不是动态的。它没有“更新”。 PHP只运行一次。这意味着一旦您的页面被渲染,您就无法再使用PHP进行更改。你实际上必须使用javascript来改变页面,就像这样;
PHP方面:
<?php
if(isset($_POST['ToEditId'])){
echo $_POST['ToEditId'];
$to_edit_id=$_POST['ToEditId'];
var_dump($to_edit_id);
die(); // prevent entire page from re-rendering again.
}
JS方面:
$(".button_class").on("click", function() {
ToEditId = $(this).attr('id');
console.log(ToEditId ); //to check clicked id is Ok
$.ajax({
type: "POST",
url: same/php/page/path,
data: {
ToEditId: ToEditId
},
success: function(res, data) {
//Add your PHP file's response to the body through javascript.
$('body').append(res);
},
error: function(err) {
alert(err);
}
});
});
正如@IncredibleHat所提到的,你应该确保你的页面没有呈现任何通常的HTML,所以它不会将整个页面返回到你的ajax调用。所以把PHP放在你的html之上!