在Ajax成功函数中返回字符串

时间:2017-06-05 20:11:18

标签: javascript jquery ajax

我尝试在执行Ajax之后返回一个字符串;我得到的单词是undefined而不是字符串。我知道代码是异步执行的,但我不明白如何为我的问题解决问题。

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中的元素具有返回值?

1 个答案:

答案 0 :(得分:1)

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

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

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");