ThinkPHP 内置了一些常量来判断请求类型:
常量 说明
IS_GET 判断是否是GET方式提交
IS_POST 判断是否是POST方式提交
IS_PUT 判断是否是PUT方式提交
IS_DELETE 判断是否是DELETE方式提交
IS_AJAX 判断是否是AJAX提交
REQUEST_METHOD 当前提交类型
class UserController extends Controller{
public function update(){
if (IS_POST){
$User = M('User');
$User->create();
$User->save();
$this->success('保存完成');
}else{
$this->error('非法请求');
}
}
}
个别情况下判断AJAX请求的时候,你可能需要在表单里面添加一个隐藏域,告诉后台属于ajax方式提交,默认的隐藏域名称是ajax(可以通过VAR_AJAX_SUBMIT配置),如果是JQUERY类库的话,则无需添加任何隐藏域即可自动判断。
AJAX返回
Controller类中提供了ajaxReturn方法用于ajax调用后返回数据给客户端。支持json jsonp xml eval四种格式数据给客户端。
调用
$data = 'ok';
$this->ajaxReturn($data);
返回数组
$data['status'] = 1;
$data['content'] = 'content';
$this->ajaxReturn($data);
ThinkPHP 默认配置是返回Json数据格式
通过配置文件中的:DEFAULT_AJAX_RETURN 配置
// 指定XML格式返回数据
$data['status'] = 1;
$data['content'] = 'content';
$this->ajaxReturn($data,'xml');