0

我想使用 JQuery 的 $.ajax 请求从服务器检索一些 JSON 数据。我在 JQuery 的文档中读到它们的所有设置都是可选的,这并不能帮助我理解我需要或不需要什么。我不确定我需要什么。这是我所拥有的:

JS代码:

function retrieve() {
     $.ajax({
        url : 'some_url',
        type : 'POST',
        dataType: 'JSON',
        contentType : 'application/json',
        data : JSON.stringify({
          key : 'value: ' 
        }),
        error : function(data) {
          console.log('error');
        },
        success : function(data) {
                    // callback function?
        }
     });
}

我希望我的 .retrieve() 方法能够接受一个包含服务器上所有内容数组的函数,如下所示:

 SomeObject.retrieve(function(array){
       // do something w/ array
 } 

问题:我需要省略或添加任何设置吗?如何生成回调函数,以便在下载消息后可以使用其数据?任何答复将不胜感激!谢谢!

4

2 回答 2

2

在成功接收到 AJAX 响应时执行某些操作(在以下示例中,在警报框中显示接收到的数据):

function retrieve() {
    $.ajax({
        ...,
        success: function(data) {
            alert("Yes! AJAX worked. I received the following data: " + data);
        }
    });
}

为了能够将自定义成功回调函数传递给您的检索方法:

function retrieve(successCallback) {
    $.ajax({
        ...,
        success: successCallback
    });
}
于 2013-03-22T23:38:21.803 回答
-1

使用 JQuery 的 .get() 和 .post() 更容易理解。使用 .get() 从您的服务器检索数据,如下所示:

$.get('ajax/test.html', function(data) {
  $('.result').html(data);
  alert('Load was performed.');
});

这将从 test.html 中获取信息。您需要知道从哪里获取数据的 url。这可以是您服务器上的控制器。然后函数参数是它成功时发生的事情。在这里,它将使用您的数据填充结果元素 html 并提醒您已执行加载。

于 2013-03-22T23:49:54.123 回答