javascript - 从 ajax 运行 javascript

标签 javascript mysql ajax

我使用以下函数对 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/

相关文章:

javascript - d3js Text Transitioin - 示例代码不起作用

mysql - 如果不存在,mysql UPDATE 是否会插入值?

python - 用于此目的的 Django ORM 查询

php - 统计数据库中最多列出 'author'行

javascript - 连续两个 XMLHttpRequest

jquery - 将带有 JSON 数据的 fullcalendar 动态加载到 addEventSource 中

javascript - HTML5 气泡消息

javascript - 如何在客户端 Javascript 中调用 Node/Express API key (.env)?

javascript - 提交表格后显示成功消息

php - 如何在多个选择中选择并分配给特定的$key、特定的$value?