Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用AJAX将php变量传递给模式_Php_Jquery_Ajax - Fatal编程技术网

使用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 = $

我试图使用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 = $(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)