我需要获得DOM元素的宽度,以便稍后使用PHP处理数据。ajax调用和PHP在同一个页面上。
页面是这样的:
<div id="elem" width="200px"></div>
<script>
let wd = document.getElementById('elem').offsetWidth;
$.ajax({ type: "POST", url: "index.php", data: {"width": wd} });
</script>
<div id="elem2">
<?php
echo $_POST['width'] . 'px';
?>
</div>
所以我有elem
有一个不固定的宽度,我需要得到,所以我可以在PHP工作。首先获得宽度是很重要的,因为elem
是在elem2
之前渲染的,我需要elem
的宽度来正确显示elem2
。
echo $_POST['width']
的当前输出为0。我看到人们在同一页面上获得ajax数据,但他们使用表单输入,但我POSTelem
的宽度。
我不知道这是否能帮助你,但你可以使用ajax的成功来显示elem1的宽度在elem2:
$.ajax({
type: "post",
url: "index.php", //or somewhere else,
data: { width: wd },
dataType: "json",
success: function( response ) {
document.getElementById("elem2").innerHTML = response.width
}
})