Javascript 使用Ajax成功处理程序返回JSON对象

Javascript 使用Ajax成功处理程序返回JSON对象,javascript,jquery,ajax,json,Javascript,Jquery,Ajax,Json,我使用Ajax命令从本地服务器查询数据,需要通过success处理程序返回一个JSON对象 我的Ajax命令如下所示: var json = $.ajax({ url: 'http://localhost:9200/wcs/routes/_search', type: 'POST', data: JSON.stringify({ "query": { "match_all": {} } }), dat

我使用Ajax命令从本地服务器查询数据,需要通过success处理程序返回一个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
expect如果请求成功,将调用一个函数

您可以这样做:

var json:
....
....

success: function(data){
       json = data;
   }
});
你很接近

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

您可以将prop_1、prop_2 vs重命名为您的codebehind

您就快到了,我建议在函数中加入
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);
    }
})
 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
             });
           });
      }