1 回答
TA贡献1863条经验 获得超2个赞
好的,所以我对 $.ajax 调用使用了 async/await,然后在更改事件处理程序中,我使用 .then 方法对生成的数据进行操作。(也可以在事件处理程序中使用异步等待,但是由于您最初拥有它并且它不起作用,因此我选择了promise)。
我很确定这应该有效,但如果没有,请让我知道控制台显示的内容。
注意您可能需要在设置每个选择器的值之前,控制台.log结果并提取要查找的数据。您可以在 .then 方法中执行此操作。
async function executeAjax(url) {
let result;
try {
result = await $.ajax({
url: url,
type: "GET"
});
return result;
} catch (error) {
console.log(error);
}
}
$('#selector1').change(function(e) {
executeAjax('api/selector2' + $("#selector1").val())
.then((result) => {
// console.log(result); <-- may need to find and pull the data you are looking for out of result
// let myVal = result[?]['something'].orother;
$("#selector2").val(result);
});
executeAjax('api/selector3' + $("#selector1").val())
.then((result) => {
// console.log(result); <-- may need to find and pull the data you are looking for out of result
// let myVal = result[?]['something'].orother;
$("#selector3").val(result);
});
});
添加回答
举报