如何使用发布方法 (AJAX) 调用异常

How to call an exception with post method (AJAX)?

本文关键字:AJAX 调用 异常 方法 何使用 布方法      更新时间:2023-09-26

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

发布方法:

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

只需添加 false(); 方法。

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

对于问题的部分:

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

您可以将.fail()回调方法链接到$.post()请求,如@Grimbode

所述

或者改用$.ajax(),其中有一个error选项 - 请求失败时要调用的函数。
$.post()方法等效的$.ajax()是:

$.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编写任何文件。由于它是在客户端浏览器中执行的客户端脚本语言,因此它无法访问服务器。嗯,这就是它的工作原理。