CMP*_*res 2 javascript ajax jquery getjson
是否可以使用jQuery在另一个getJSON请求中使用getJSON请求?
像这样的东西:
// Population the Requests List
// jQuery AJAX call for JSON
$.getJSON( '/workspace/friends/sentRequests', function( data ) {
// For each item in our JSON, add a table row and cells to the content string
$.each(data, function(){
//Loading each user data into global variable.
$.getJSON( '/workspace/friends/' + this.friendId, function( user ) {
requestListData.push(user);
});
requestTableContent += '<tr>';
requestTableContent += '<td><a href="#" class="linkshowuser btn btn-info btn-xs"" rel="' + this.friendId + '" title="Show Details">' + this.name + '</td>';
requestTableContent += '<td><a href="mailto:' + this.email + '">' + this.email + '</a></td>';
requestTableContent += '<td>' + moment(useListData[-1].activity.date_established).format('MMMM Do YYYY') + '</td>';
requestTableContent += '<td>' + this.gender + '</td>';
requestTableContent += '<td><a href="#" class="linkdeleteuser btn btn-danger btn-xs" rel="' + this.email + '">Danger!</a></td>';
});
// Inject the whole content string into our existing HTML table
$('#requestList table tbody').html(requestTableContent);
});
Run Code Online (Sandbox Code Playgroud)
我想知道这是否可能?如果是这样我在这里做错了......
编辑:我问这个,因为它应该使用getJSON请求中的数据填充表,但事实并非如此.
是的,没关系.你在这里连续执行两个请求- 第二个请求在第一个返回之前不会被执行.这是必要的,因为内部请求取决于外部请求的响应.
如果您控制服务器,几乎可以肯定,通过从单个请求返回组合数据,可以提高应用程序的效率.
在第二个请求不依赖于第一个请求的情况下,您可以使用jQuery.when 并行地发出请求,等待几个promise的完成
var first = $.getJSON({ ... });
var second = $.getJSON({ ... });
$.when(first, second)
.done(function(firstResult, secondResult) {
// Executed when both requests complete successfully
// Both results are available here
})
.fail(function() {
// Executed if at least one request fails
})
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3546 次 |
| 最近记录: |