是否可以使用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);
});
我想知道这是否可行?如果是这样的话,我在这里做错了......
编辑: 我之所以这样问,是因为它应该使用getJSON请求中的数据填充表格,但事实并非如此。
答案 0 :(得分:5)
是的,没关系。您在此处执行 series 中的两个请求 - 第二个请求将在第一个返回之前执行。这是必要的,因为内部请求取决于外部请求的响应。
如果您控制服务器,您几乎可以通过从单个请求返回组合数据来提高应用程序效率。
在第二个请求不依赖于第一个请求的情况下,您可以使用jQuery.when在 parallel 中发出请求,等待几个请求完成{{3} }}
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
})
答案 1 :(得分:0)
是的,有可能。您可以在第一个请求的回调函数中执行任何 JavaScript 代码。