如何使用post方法(AJAX)调用异常?

时间:2015-03-16 20:59:41

标签: javascript jquery ajax exception post

如果post方法不成功,我想抛出异常并写入错误日志?基本上,如果此方法没有返回任何结果,我想抛出异常并写入文件。

发布方法:

$.post("ip.php", function( data ){
$("#ip").val(data.ip);
$("#country").val(data.country);
$('#campaignID').val(data.campaignID);
}, "json");

2 个答案:

答案 0 :(得分:1)

只需添加 fail(); 方法即可。

var jqxhr = $.post( "example.php", function() {
  alert( "success" );
})
.done(function() {
  alert( "second success" );
})
.fail(function() {
  alert( "error" );
})
.always(function() {
  alert( "finished" );
});

答案 1 :(得分:0)

对于问题的一部分:

  

如果post方法不成功,我想抛出异常(...)

您可以将.fail() callback方法链接到@Grimbode所提到的$.post()请求

或者使用$.ajax()代替error选项 - 如果请求失败,则调用函数。
相当于$.ajax()方法的$.post()将是:

$.ajax({
    type     : "POST",
    url      : "ip.php",
    dataType : 'json',
    success  : function(data){
        $("#ip").val(data.ip);
        $("#country").val(data.country);
        $('#campaignID').val(data.campaignID);
    },
    error   : function(jqXHR/*object*/, textStatus/*string*/, errorThrown/*object*/){
        // throw an error ...
        // console.log('Type of error: ' + textStatus);
    },
});

至于那部分:

  

(...)写入错误日志

无法使用javascript编写任何文件。由于它是在客户端浏览器中执行的client side scripting language,因此它无法访问服务器。嗯,这是它的工作原理。