0

我想做一些我认为非常简单的事情,但我不知道该怎么做......

我正在使用一个简单的 ajax 调用来检索 json 数据,但我想在我的 ajax 回答之后操作这些数据......

我已经尝试了很多,但我仍然不知道该怎么做......

正如我所说,我的代码很简单:

var res;
$.ajax({
    type: "GET",
    url: url,
    dataType: 'json',
    success: function(data){
        console.log(data);
        res = data;
    }
});
console.log(res);
// do things with res here...

我很确定答案很简单...

感谢您的提示。

4

3 回答 3

2

AJAX 是异步的,这意味着操作从服务器接收到的数据的唯一安全位置是在成功回调中,如下所示:

$.ajax({
    type: "GET",
    url: url,
    dataType: 'json',
    success: function(data) {
        // do things with data here...
    }
});

如果你想使用 AJAX,你必须停止考虑顺序编程,其中每一行代码都一个接一个地执行,但你应该考虑异步回调。并组织您的代码以尊重此模型。

于 2013-08-14T12:17:35.733 回答
0

只需在回调函数中循环数据success,例如:

success: function(data){
    $.each(data, function(k, v){
        // k represents each key and v represents each value here
        console.log(k + '=' + v);
    });
}

演示。

于 2013-08-14T12:20:55.327 回答
0

在您的success函数中,您必须通过解析将接收到的数据从字符串转换为对象。这样你就可以使用数据了。

function myFunctionForJsonData(data) {
    // ...
}

$.ajax({
    type: "GET",
    url: url,
    dataType: 'json',
    success: function(data){
        console.log(data);
        var dataJson = $.parseJSON(data);
        myFunctionForJsonData(dataJson);
    }
});
于 2013-08-14T12:22:16.253 回答