是这样,我们公司之前的项目大多表单采集采用表单提交的形式,然后呢方法里用try catch
的机制,这样的做法我觉得很不错。但是我本人表单提交喜欢用ajax
,这里就是我用ajax
好像用不了try catch
这样的机制,因为我要返回状态码。
请问try catch
在php
中的应用范围?应用多吗?如果我用ajax
想达到类似于try catch
的机制可以做到吗
大概我所用的文字描述,有点迷惑,那我就来些数据说明一下
try catch机制,代码如下:
try {
//这里接收一下表单数据 表单提交/ajax提交
$admin_data = $this->input->post();
if( empty( $admin_data['name'] ) ) throw new Exception( '用户名不能为空啊喂', 0 );
if( empty( $admin_data['passwd'] ) ) throw new Exception( '密码也不能为空啊喂', 0 );
} catch ( Exception $e ) {
init_messagebox( $e->getMessage(), 'error', $e->getCode() );
}
看上面的throw new Exception
这个位置可以替换成 ajax_return()
嘛
funtion ajax_return($state, $msg) {
exit(json_encode(array('state'=>$state, 'msg'=>$msg)));
}
好像就是说try catch
的机制也是用if
来判断的,if
捕获错误信息(错误信息还是自己定义的),那我直接就用if
ajax_return()
这样的组合就好了。为什么还要写那么多代码呢?是这里不太明白
是我自身对try catch的机制了解的太浅薄了,所以可能问题有些让人疑惑,望解答
看上去题主是前端在和PHP后端配合
我觉得你得先搞清楚ajax,http的概念,搞清楚js和php/后端语言的关系
服务端是不是try catch风格和你和服务端的整合没有任何关系
另外建议你先去学明白前后端分离,然后尽量说服php后端(尤其他们的leader)也学一下应用起来,感觉你们现在可能是form submit+前后端完全不分离的模式,这个模式很疼很坑而且很落后