0

我正在使用 Ajax 命令从本地服务器查询数据,我需要通过成功处理程序返回一个 JSON 对象。

我的 Ajax 命令如下所示:

var json = $.ajax({
    url: 'http://localhost:9200/wcs/routes/_search',
    type: 'POST',
    data: JSON.stringify({
        "query": {
            "match_all": {}
        }
    }),
    dataType: 'json',
    async: false
});

我想在我已经分配的变量中返回 JSON 文档:json

我可以在命令中做这样的事情吗?(我知道这不是正确的代码):

success: return(json);
});
4

3 回答 3

1

你很亲近,

var json;
$.ajax({
    url: 'http://localhost:9200/wcs/routes/_search',
    type: 'POST',
    data :
        JSON.stringify(
            {
                "query" : { "match_all" : {} }
        }),
    dataType : 'json',
    async: false,
    success: function(data){
        json = data;
    }
})
console.log(json);

但这async: false是一个坏主意,所以我建议在回调中使用 json 。

$.ajax({
    url: 'http://localhost:9200/wcs/routes/_search',
    type: 'POST',
    data :
        JSON.stringify(
            {
                "query" : { "match_all" : {} }
        }),
    dataType : 'json',
    //async: false,
    success: function(data){
        console.log(data);
    }
})
于 2013-04-09T14:53:12.050 回答
0

Success请求成功时调用的函数。

你可以这样做 :

var json:
....
....

success: function(data){
       json = data;
   }
});
于 2013-04-09T14:52:38.453 回答
0
 var arr = new Array();
 success: function (data) {
    $.map(data, function (item) {
          arr.push({
              prop_1: item.prop_1,
              prop_2: item.prop_2,
              prop_3: item.prop_3
             });
           });
      }

您可以重命名 prop_1、prop_2 与您的代码隐藏

于 2013-04-09T14:54:08.190 回答