我读了一些jqueryAjax的例子。 所有这些都展示了如何调用ajax onClick事件然后填充html元素。
然而,我想要一些东西。
我有一个客户端var(MessageList
)。我在JS上进行迭代,当我到达终点时,我想从服务器上重新填充它。
我写了aspx页面。
JS正在加价。
在后面的代码中,我写了一个名为“FillMessages()"
的[WebMethod],它返回字符串(Json)。
我如何使用此webMethod返回的json填充MessageList
,仅当客户端完成迭代当前MessageList
谢谢!
答案 0 :(得分:0)
你可以这样做:
$(document).ready(function(){
var list = [];
//parses the list
function parseList(){
$.each(list, function(index, obj){
//do something
});
}
//gets the json and class parse (could be added to a seperate function)
$.getJSON('test.apsx/FillMessages', function(data){
list = data;
if(list.length > 0) {
parseList();
}
});
});
不要忘记准备你的网络方法,通过以下方式来装饰它们:
[WebMethod(EnableSession = true)]
[ScriptMethod(UseHttpGet =false, ResponseFormat = ResponseFormat.Json)]
答案 1 :(得分:0)
如何触发第一个电话? 看看成功处理程序。
function getYouTubeVideoData(page) {
$.ajax({
url : 'http://gdata.youtube.com/feeds/api/videos',
type : 'get',
contentType: 'application/json',
dataType : 'jsonp',
data: {
v:2,
'start-index': page*50+1,
'max-results': 50,
format:1,
alt:'jsonc',
key:'Your API Key',
q: "Led Zepplin"
},
success : function(response) {
result_iterator(query, page, response);
getYouTubeVideoData(page+1);
},
error: function(xhr, textStatus, errorThrown ) {
logger("We had trouble getting data from YouTube..." + errorThrown);
}
})
})