我已经阅读了jQuery API,但我仍然不清楚。这是我的代码示例:
$.ajax({
url: href,
type: 'GET'
})
.success(function (content) {
$('#content')
.html("<div class='block-border'>" + content + "</div>")
.applyTemplateSetup()
.buildTableOfContent();
if ($('#cityLegend-1').length) {
$('#cityLegend-1').html("Question " + html);
}
$('#article').css('visibility', 'visible');
var editHref = "/Admin/Contents/Edit?pk=0003000&rk=" + href.substring(2,5);
$('#editContent').attr('data-href', editHref);
})
.fail(function (ajaxContext) {
ajaxOnFailure(ajaxContext)
});
我必须使用jQuery .load,因为我的模板已经编码以实现一些效果并调用jQuery .load()。但是,如果有一个.success或.fail,我如何使我的回调做不同的事情,就像我在这里执行的函数一样,我怎么能实现.done函数。
还有一个问题。如果我能够使用.load,那么如果我的内容包含HTML标记,则会出现问题。这很有可能,我在某些地方读到这可能是一个问题。
答案 0 :(得分:4)
喜欢这个
$.ajax({
url: 'ajax/test.html',
success: function(data) {
$('.result').html(data);
alert('Load was performed.');
},
error: function(data){
//error
},
complete: function(data){
//complete
}
});
答案 1 :(得分:1)
这可能有所帮助。
$("#content").load(href, function(response, status, xhr){
if(status == "error") {
ajaxOnFailure(response);
} else {
ajaxOnSuccess(response);
}
});
(顺便说一下,.load()
's documentation中有一个例子。)
答案 2 :(得分:0)
您可以将其用于错误处理
$(document).ready(function() {
$('#races a').click(function () {
$('#results').load('Racing/' + $(this).attr('href') + ' #wrap', "", function(responseText, textStatus, XMLHttpRequest) {
switch (XMLHttpRequest.status) {
case 200: break;
case 404:
$('#results').html('<p>Looks like the results have not been uploaded to the server yet. Please check back later.</p>');
break;
default:
$('#results').html('<p>' + XMLHttpRequest.status + ': ' + XMLHttpRequest.statusText + '. Please contact the club and let them know.</p>');
break;
}
});
return false;
});
});