我必须修改别人写的项目。因为代码很乱,我无法真正改变这个$ .post()(或用$ .ajax()替换它)。我需要做的是知道帖子是否返回其他内容然后返回JSON并返回它。
$.post('balbal.html', json, function(data) { ... my coude ... }, 'json')
我可以在console.log中看到post响应。有一种简单的方法来检索它吗?
答案 0 :(得分:110)
在帖子后立即定义错误回调。请注意结尾处的分号放置。
$.post('balbal.html', json, function(data) {
// ... my code ...
})
.fail(function(response) {
alert('Error: ' + response.responseText);
});
http://api.jquery.com/deferred.fail/
对于旧版本的jQuery(1.8之前版本)使用.error代替相同的语法。
答案 1 :(得分:13)
有几种方法可以做到这一点,但是如果您没有通过返回的JSON数据对象获得错误响应,则可以使用$.ajaxSetup()来定义所有的默认值ajax通过jQuery调用。即使$.post()
方法本身没有指定错误处理程序或回调,$.ajaxSetup()
方法也会捕获任何ajax错误并执行为其定义的函数。
或者,还有一个$.ajaxError()函数可以执行相同的操作。
请注意,如果正确返回JSON响应但使用服务器端错误代码,则无法执行此操作。如果您想捕获这些类型的案例,最好使用$.ajaxComplete()方法查找它们
答案 2 :(得分:2)
您可以使用$.ajax()
($.post
是最终调用它的快捷方式),并定义错误回调。
或者,如果你真的不想这样做,请致电
$.ajaxError(function(){
//error handler
})
之前$.post
答案 3 :(得分:0)
你可以这样做
@echo off
1>nul chcp 65001 & set "_cmd=dir /b/a:-d/o:-d/t:c ".\financial*.*""
2>nul cd /d "C:\Source\." && set "_target=\\to\target\folder\." || (
timeout /t -1 | echo\Path/Source do not exist: C:\Source & goto :eOf)
for /f tokens^=* %%i in ('2^>nul %_cmd% ^|findstr/lei "\.pdf \.xlsx"')do 2>nul (
2>nul robocopy .\. "%_target%" "%%~ni.xlsx" "%%~ni.pdf" /mov /njh /is|find "100%%")
欲了解更多信息,请访问:https://api.jquery.com/jquery.post/