在同一页面上获取AJAX数据



我需要获得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
}
})

最新更新