我使用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);
}
});
});
};
值。
有什么建议吗?预先感谢。
答案 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
但是,使用数据字段可能是更可取的选择,并且被认为是更好的解决方案。