使用JQuery处理PHP异常 - php

我正在使用JQuery调用PHP函数,该函数将在成功时返回JSON字符串或引发一些异常。当前,我在响应上调用jQuery.parseJSON(),如果失败,则假定响应包含异常字符串。

$ .ajax({
输入:“ POST”,
网址:“ something.php”,
成功:功能(响应){
尝试{
var json = jQuery.parseJSON(response);
}
抓住(e){
警报(响应);
返回-1;
}
// ...用json做东西
}

有人可以建议一种更优雅的方式来捕获异常吗?

非常感谢,
Itamar

参考方案

好吧,您可以在PHP中拥有一个全局异常处理程序,该处理程序将在其上调用json_encode然后将其回显。

<?php
    function handleException( $e ) {
       echo json_encode( $e );
    }
    set_exception_handler( 'handleException' );
?>

然后,您可以检查是否为json.Exception != undefined

$.ajax({
            type: "POST",
            url: "something.php",
            success: function(response){
                 var json = jQuery.parseJSON( response );
                 if( json.Exception != undefined ) {
                    //handle exception...
                 }
                 // ... do stuff with json
            }

jQuery Ajax和php类 - php

我正在尝试学习如何在php中使用oop。我对jQuery也很陌生。是否可以向php类方法发出Ajax请求?我只将Ajax请求发送到专门用于此目的的文件,并且返回我需要的数据。 参考方案 简短答案:不可以。长答案:Ajax只是一个使用JavaScript从浏览器发出HTTP请求而无需离开页面的术语。您唯一可以“呼叫”的是URL。您可以编写PHP以根据URL来执…

PHP-将日期插入日期时间字段 - php

我已在数据库中使用datetime字段存储日期,使用PHP将“今天的日期”插入该字段的正确方法是什么?干杯, 参考方案 我认为您可以使用php date()函数

php ziparchive类源代码 - php

Improve this question 我如何获取ziparchive类本身的源代码。 参考方案 假设您在谈论PHP ZipArchive class:下载PHP source code并查找适当的文件。如果您希望源代码是PHP代码,您可能会感到失望,因为源代码是用C语言编写的。或者,也可以在PHP Github Development Reposito…

图片上传插件(php jquery flash) - php

什么是使用php / jquery上传图片的最佳插件?它应该有一个进度条,并显示诸如百分比,速度等信息。上传后如何调整图像大小?我也想嵌入水印图像谢谢 参考方案 我发现Uploadify非常好。http://www.uploadify.com/关于水印图像,我将使用Perls GD或ImageMagik模块:http://metacpan.org/pod/G…

PHP getallheaders替代 - php

我正在尝试从服务器上的apache切换到nginx。唯一的问题是我在PHP脚本中使用的getallheaders()函数,该函数不适用于Nginx。我已经尝试过用户在getallheaders函数上的php站点上提供的注释,但这并不返回所有请求标头。请告诉我如何解决这个问题。我真的想切换到Nginx。 参考方案 您仍然可以使用它,但是您必须像这里一样重新定义…