使用AJAX将php变量传递给模式
我试图使用AJAX将一个变量传递给我的模态,但它不起作用 PHP代码使用AJAX将php变量传递给模式,php,jquery,ajax,Php,Jquery,Ajax,我试图使用AJAX将一个变量传递给我的模态,但它不起作用 PHP代码 echo '<img src="./images/see.png" class="open-modalPropietari" data-target="#modalPropietari" data-id="' . $id . '" >'; $(document).on('click', '.open-modalPropietari', function() { var id = $
echo '<img src="./images/see.png" class="open-modalPropietari" data-target="#modalPropietari" data-id="' . $id . '" >';
$(document).on('click', '.open-modalPropietari', function() {
var id = $(this).data('id');
$.ajax({
type: "POST",
url: "propietaris.php",
data: {id: id},
success: function() {
$('#modalPropietari').modal('show');
}
});
});
它确实执行成功(6-8秒后),但不传递变量
我看过这个论坛上的其他帖子,但我找不到解决办法
我对网络开发相当陌生,所以我不知道出了什么问题。编辑:看来你的问题写错了,所以我尝试帮助调试: 首先,将$.ajax替换为以下内容
$.post( "propietaris.php", { id: id })
.done(function( data ) {
console.log(data);
}).fail(function() {
console.log("error");
});
和var\u dump($\u POST)在你的propitaris.php
post成功后,控制台将显示post结果页面。查看它是否包含您的postdata。您指的是什么变量?在控制台中查看页面源时,`data id=“.”.$id.'>`的实际html标记是什么。它有效吗?当您检查post请求时,您看到发送到服务器的是什么?页面呈现时,img
标记的标记是什么?这会以什么方式失败?您并不是“使用AJAX传递变量”(这里是一个奇怪的术语组合),而是使用变量呈现页面,将该值发送回服务器,然后显示一个模式(与变量无关)。调试时,它在哪里失败?console.log(id)在$.ajax调用之前,服务器端的var_dump($_POST)用于调试var_dump返回“array(0){}”,我尝试在ajax调用之前查看id,它显示变量,实际上是echo”;var_dump仍然是“array(0){}”nvm:必须在post之后看到vardump数组,现在您可能会在post之前看到它。所以做一个var\u转储($\u POST)代码>。将console.log(“succes”)更改为console.log(data)
这将在控制台中发布后显示您的返回页面。是的,包括您的vardump…它说了什么?如果它包含您的postvar,它就工作了。很好;)因此,您成功地从php->html->php;发送了id)