将变量从ajax传输到PHP

时间:2018-07-21 08:29:08

标签: javascript php ajax leaflet

我使用Leaflet来显示地图,在onEachFeature函数上,我已经插入ajax来获取要传递给PHP的变量,像这样

delete

这是PHP代码

ModelSerializer

在PHP中我总是得到0结果,但是在Chrome控制台中,它是function onEachFeature(feature, layer) { layer.bindPopup(feature.properties.IDLo); layer.on("click", function(e) { var popup = e.target.getPopup(); var content = popup.getContent(); $.ajax({ url: "index.php", type: "GET", data: "content=" + content, success: function(data) { console.log(content); } }); }); }; 值。 有什么建议吗?预先感谢。

2 个答案:

答案 0 :(得分:0)

为什么不使用发布方法?

JS:

function onEachFeature(feature, layer) {
  layer.bindPopup(feature.properties.IDLo); 
  layer.on("click", function(e)
  {
    var popup = e.target.getPopup();
    var content = popup.getContent();
    $.post("index.php",{content},function(data) {
       console.log(data);
    });

  });   
};

HTML / PHP:

<body>
        <h2>My Map</h2>
        <div>
            <?php 
            if(isset($_POST['content']))
                {
                    $uid = $_POST['content'];
                }
            else $uid = 0;
            ?>
        </div>
        <div><?php echo $uid;?></div>
        <div id="map"></div>
        <script src="js/new.js"> </script>
    </body>

DEMO PHP:

<?php 
if(isset($_POST['content'])) {
   echo 'I came here via PHP, the value of content variable is: -> ';
   echo $_POST['content'];
}

?>

答案 1 :(得分:0)

我认为您使用的数据字段不正确,它只会发送整个字符串。

最好使用这样的对象或数组:

data: {content: content }

请参阅数据下的jquery文档以进行进一步检查: http://api.jquery.com/jQuery.ajax/

编辑: 只需添加一下,如果您想使用“ =”语法,则可以直接执行。     网址:“ index.php?content =“ + content
但是,使用数据字段可能是更可取的选择,并且被认为是更好的解决方案。