感谢StackOverflow,我设法让以下代码完美运行,但我有一个跟进问题.
$.get('http://example.com/page/2/', function(data){
$(data).find('#reviews .card').appendTo('#reviews');
});
Run Code Online (Sandbox Code Playgroud)
上面的代码使我的网站能够在WordPress中使用"加载更多"按钮获取第二页文章.但是,当网站用完页面/结果时,我遇到了一个小问题.加载更多按钮保持不变.即使没有剩余页面,它也会继续尝试获取数据.
我如何调整此命令,以便在.get
请求失败或是(404)未找到页面时显示可视响应?
如果有人可以用一个简单的例子来帮助我,即使是一个alert("woops!");
非常棒的例子!
谢谢!
lon*_*day 170
$.get
没有给你机会设置错误处理程序.您将需要使用低级$.ajax
功能:
$.ajax({
url: 'http://example.com/page/2/',
type: 'GET',
success: function(data){
$(data).find('#reviews .card').appendTo('#reviews');
},
error: function(data) {
alert('woops!'); //or whatever
}
});
Run Code Online (Sandbox Code Playgroud)
编辑2010年3月
请注意,使用jqXHR
jQuery 1.5中的新对象,您可以在调用后设置错误处理程序$.get
:
$.get('http://example.com/page/2/', function(data){
$(data).find('#reviews .card').appendTo('#reviews');
}).fail(function() {
alert('woops'); // or whatever
});
Run Code Online (Sandbox Code Playgroud)
Nic*_*ver 33
如果你想要一个通用错误,你可以设置jQuery使用的所有$.ajax()
($.get()
使用下面的)请求$.ajaxSetup()
,例如:
$.ajaxSetup({
error: function(xhr, status, error) {
alert("An AJAX error occured: " + status + "\nError: " + error);
}
});
Run Code Online (Sandbox Code Playgroud)
在进行任何AJAX调用之前只运行一次(不更改当前代码,只需在某处之前粘贴).这将error
选项设置为默认为上面的处理程序/函数,如果您进行了完整$.ajax()
调用并指定了error
处理程序,那么您所拥有的将覆盖上述内容.
小智 13
您可以使用responseText属性获取详细错误.
$.ajaxSetup({
error: function(xhr, status, error) {
alert("An AJAX error occured: " + status + "\nError: " + error + "\nError detail: " + xhr.responseText);
}
});
Run Code Online (Sandbox Code Playgroud)
您可以链接.fail()
回调以进行错误响应。
$.get('http://example.com/page/2/', function(data){
$(data).find('#reviews .card').appendTo('#reviews');
})
.fail(function() {
//Error logic
})
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
102420 次 |
最近记录: |