gpt4 book ai didi

javascript - 从 ajax 运行 javascript

转载 作者:行者123 更新时间:2023-11-29 18:28:31 25 4
gpt4 key购买 nike

我使用以下函数对 PHP 进行 ajax 调用,每当发生 onChange 事件时,PHP 都会从 MySQL 数据库检索数据。 PHP 的结果是一个包含一些数据的 JavaScript 函数。

基本上,我将所有代码从 W3Schools 复制到 xmlhttp.send() 中。然后,面对在页面上调用 JavaScript 的问题,我添加了 $.getScript(...) 部分。

它有效,但我有一种感觉,调用 getRun.php?run=... 两次并不是最好的方法。

function getRun(str) {
if (str == "") {
document.getElementById("txtHint").innerHTML = "";
return;
} else {
if (window.XMLHttpRequest) {
// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp = new XMLHttpRequest();
} else {
// code for IE6, IE5
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
document.getElementById("txtHint").innerHTML = this.responseText;
}
};
xmlhttp.open("GET","getRun.php?run="+str,true);
xmlhttp.send();
$.getScript("getRun.php?run="+str, function() {
setTimeout();
});
}

}

您有什么更好的方法吗?

最佳答案

进一步解释我对您的问题的评论:

  1. 定义您想要从 Ajax 结果运行的函数
  2. 向 PHP 后端发起 Ajax 请求。
  3. PHP 后端返回特定结果,可以是字符串,也可以是JSON,由您决定。
  4. 在 Ajax 成功(或错误,甚至完成)回调中调用该函数。

例如

function getDataFromBackend(){

// Your Ajax request
// Seeing as you tried to use $.getScript, you might be using jQuery, so an example with jQuery
$.ajax({
method: 'POST',
url: 'yoururl.php',
data: {}, // You can put whatever data you wanna send in this object
success: runMeWithData // The success callback runs the function when the Ajax request comes back without errors.
});

}

function runMeWithData(dataFromAjax){
console.log(dataFromAjax); // Show the output of your backend in the Console
}

关于javascript - 从 ajax 运行 javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45941232/

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