javascript - Ajax 成功函数中返回字符串

标签 javascript jquery ajax

但是,我正在尝试在 Ajax 执行后返回一个字符串;我得到的是“未定义”一词而不是字符串。我知道代码是异步执行的,但我不明白如何为我的问题找到解决方案。

JS

function aggregator(field){
    var query = '{"aggs": { "group_by_date": { "terms": { "field": "' + field + '" } } } }';

     $.ajax({
        url: 'index.php',
        type: 'post',
        data: {
            qSet: query
        },
        success: function(message){
            return message;
        }
    });

}

   var results = aggregator("transactionDate");
   document.getElementById("results").innerHTML = results;

如何使 HTML 中的元素具有返回值?

最佳答案

欢迎来到异步编程。您必须在 ajax 函数的回调中处理返回值,或者使用某种基于 Promise 的延迟队列。

要快速解决您的问题,请尝试第一种技术:

function aggregator(field,element){
    var query = '{"aggs": { "group_by_date": { "terms": { "field": "' + field + '" } } } }';

     $.ajax({
        url: 'index.php',
        type: 'post',
        data: {
            qSet: query
        },
        success: function(message){
            document.getElementById(element).innerHTML=message;
        }
    });

}

aggregator("transactionDate","results");

关于javascript - Ajax 成功函数中返回字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44376910/

相关文章:

javascript - Chrome 扩展程序中的显示对话框

javascript - 加载jquery和谷歌地图

jquery - 有一个更好的方法吗 ? (多个if语句)

javascript - php变量打印额外的数字

javascript - 内联 block 推过两行

javascript - 如何限制一个div可以包含的元素? HTML

javascript - 如何将数组写入的字符串转换为真正的数组?

javascript - 动态创建 html div jinja2 和 ajax

jquery - jquery来自CDN时,ajax调用是否跨域?

javascript - 当获取靠近文档边框的选定文本的边界矩形时,ie/edge 会出现奇怪的结果