Javascript 从函数返回数据集到 xmlhttprequest 获取参数
Javascript returning dataset from function to xmlhttprequest get parameters
我有一个用 php 变量填充的数据属性。 php 变量是一个数值。
<?php $userId = 123; ?>
<div class="agent-detail-info" data-id="<?= $userId ?>"></div>
我正在尝试从数据集中获取值并将其传递给 get url 参数。当 php 动态打印 html 时,我已将其放入 window.onload 自己的函数中。
function userData() {
let infoWrap = document.querySelector(".agent-detail-info").dataset.id;
console.log(infoWrap);
return infoWrap;
}
window.onload = userData;
const request = new XMLHttpRequest();
request.open(
"GET",
`url&usertolookup=${userData()}`
);
Console.log(infoWrap) returns 控制台中的正确值,但控制台显示错误且未填充获取参数
未捕获类型错误:无法在 userData
处读取 null 的属性(读取 'dataset')
我认为发生这种情况是因为请求 运行 在调用 userData 函数之前 DOM 尚未填充?
这个有效:
function userData() {
let infoWrap = 123;
return infoWrap;
}
我尝试将请求包装到一个函数中,该函数在 DOM 加载后运行,但这也没有用。
您应该 运行 代码位于 window.onload
的末尾,因此在 .agent-detail-info
元素添加到 DOM 之后 运行s。 运行 userData()
本身什么都不做。
window.onload = () => {
const request = new XMLHttpRequest();
request.open(
"GET",
`url&usertolookup=${userData()}`
);
};
我有一个用 php 变量填充的数据属性。 php 变量是一个数值。
<?php $userId = 123; ?>
<div class="agent-detail-info" data-id="<?= $userId ?>"></div>
我正在尝试从数据集中获取值并将其传递给 get url 参数。当 php 动态打印 html 时,我已将其放入 window.onload 自己的函数中。
function userData() {
let infoWrap = document.querySelector(".agent-detail-info").dataset.id;
console.log(infoWrap);
return infoWrap;
}
window.onload = userData;
const request = new XMLHttpRequest();
request.open(
"GET",
`url&usertolookup=${userData()}`
);
Console.log(infoWrap) returns 控制台中的正确值,但控制台显示错误且未填充获取参数
未捕获类型错误:无法在 userData
处读取 null 的属性(读取 'dataset')我认为发生这种情况是因为请求 运行 在调用 userData 函数之前 DOM 尚未填充?
这个有效:
function userData() {
let infoWrap = 123;
return infoWrap;
}
我尝试将请求包装到一个函数中,该函数在 DOM 加载后运行,但这也没有用。
您应该 运行 代码位于 window.onload
的末尾,因此在 .agent-detail-info
元素添加到 DOM 之后 运行s。 运行 userData()
本身什么都不做。
window.onload = () => {
const request = new XMLHttpRequest();
request.open(
"GET",
`url&usertolookup=${userData()}`
);
};