gpt4 book ai didi

javascript - 尝试调用从 AJAX 调用传回的 JS 代码

转载 作者:行者123 更新时间:2023-11-30 23:45:58 27 4
gpt4 key购买 nike

好的,我有一个 javascript 函数可以检索一些 HTML...

function updateQuestions(i){
var url = 'getQuestions.php?sys=' + i;
if (receiveReq.readyState == 4 || receiveReq.readyState == 0) {
receiveReq.open("GET", url, true);
receiveReq.onreadystatechange = handleQuestionsUpdate;
receiveReq.send(null);
}
}

function handleQuestionsUpdate() {
if (receiveReq.readyState == 4) {
var a=receiveReq.responseText;
document.getElementById('questions').innerHTML=a;
checkSpeakers(); //Error Occurs Here, even though checkSpeakers() is a function in the returned HTML chunk.
}
}

这个 HTML 不仅仅是 HTML,更具体地说,它是一个表单和一段 javascript。 javascript 被硬编码到 HTML 中,并且不被 <script src="..">

引用

调用时无法识别检索到的 JS 代码,这正常吗?如果是这样,如果我需要每次更新 div 时都更改 JS,我的替代方案是什么?

这是返回给 JavaScript 函数的文本。

function checkPillowSpeakers()
{
var pillowSpeakers = document.getElementById('Q9').value + document.getElementById('Q10').value;
document.getElementById('PS1').style.display = ((pillowSpeakers > 0)? '' : 'none');
document.getElementById('PS2').style.display = ((pillowSpeakers > 0)? '' : 'none');
}~ARRAYSEPERATOR~<html>....</html>

JS 代码通过 ~ARRAYSEPERATOR~ 标记与 HTML 代码分开。问题是我此时不想执行代码,我只想将其排队,以便我可以根据命令调用它。

最佳答案

您应该首先尝试从 HTML 内容中获取 JavaScript 部分。然后您可以使用 JavaScript 中的 eval() 函数轻松执行它;

关于javascript - 尝试调用从 AJAX 调用传回的 JS 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3025975/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com