我想使用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
}
问题:我是否需要省略或添加任何设置?如何生成回调函数,以便在下载消息后我可以使用其数据?任何回复将不胜感激!谢谢!
答案 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,并提醒您已执行加载。