JQuery的AJAX请求:检索JSON数据需要哪些设置?

时间:2013-03-22 23:09:05

标签: jquery ajax

我想使用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
 } 

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

2 个答案:

答案 0 :(得分:2)

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

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

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

function retrieve(successCallback) {
    $.ajax({
        ...,
        success: successCallback
    });
}

答案 1 :(得分:-1)

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

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

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