thinkphp 判断请求类型
判断请求类型
在很多情况下面,我们需要判断当前操作的请求类型是GET 、POST 、PUT或 DELETE,一方面可以针对请求类型作出不同的逻辑处理,另外一方面有些情况下面需要验证安全性,过滤不安全的请求。 系统内置了一些常量用于判断请求类型,包括:
常量 | 说明 |
---|---|
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('非法请求');
}
}
}
需要注意的是,如果使用的是ThinkAjax或者自己写的Ajax类库的话,需要在表单里面添加一个隐藏域,告诉后台属于ajax方式提交,默认的隐藏域名称是ajax(可以通过VAR_AJAX_SUBMIT配置),如果是JQUERY类库的话,则无需添加任何隐藏域即可自动判断。
thinkphp 判断请求类型的更多相关文章
- php判断请求类型(ajax|get|post|cli)
php判断请求类型,可以通过 $_SERVER 相关的参数来实现, 这个很在对某些请求代码复用里面很常用.具体代码如下: /** *@todo: 判断是否为post */ if(!function_e ...
- php判断请求类型 ajax、get还是post类型
1.通过PHP获取预定义变量中的XMLHttpRequest判读. 首先你必须使用jquery或Js发送ajax请求,通过jquery发送的$.ajax, $.get or $.post方法请求网页内 ...
- requests---requests封装请求类型
我们在做自动化的时候,肯定是代码越简洁越好,代码重复量越少越好,这里呢,我们可以通过把requests的请求类型都封装起来,这样编写用例的时候可以直接进行请求 requests方法封装 我们通常用的最 ...
- thinkphp模拟请求和参数绑定
thinkphp模拟请求和参数绑定 一.总结 1.网页传过来的参数是可以修改的:get或者post等方式 传过来的参数是可以修改的 dump($request->get(['id'=>2 ...
- 通过JS判断联网类型和连接状态
通过JS判断联网类型和连接状态 中国的移动网络环境复杂,为了给用户带去更好访问体验,开发者希望能了解用户当前的联网方式,然后给用户一个符合当前网络环境的请求结果. W3C的规范中给出了一个方法来获得现 ...
- 【javascript】—— JS判断浏览器类型、操作系统
navigator.userAgent : userAgent 属性是一个只读的字符串,声明了浏览器用于 HTTP 请求的用户代理头的值. navigator.platform : platform ...
- Ajax 请求之_请求类型详解
$.ajax({ url: "规定发送请求的 URL.默认是当前页面.", type: "post", // 请求类型,默认get // 在回调函数中,无需将j ...
- jquery ajax中支持哪些返回类型以及js中判断一个类型常用的方法?
1 jquery ajax中支持哪些返回类型在JQuery中,AJAX有三种实现方式:$.ajax() , $.post , $.get(). 预期服务器返回的数据类型.如果不指定,jQuery 将自 ...
- 判断请求是否属于Ajax请求
我们有时候需要根据请求类型来判断返回视图名称还是JSON数据,这里记录一个判断Ajax的工具类方便日后好找 通过传入Request对象获取头信息,根据头信息判断是否属于Ajax请求 public cl ...
随机推荐
- springbot项目中使用继承
package com.example.demo.controller; import com.sun.org.apache.bcel.internal.generic.NEW; import org ...
- MySQL高可用配置(主从复制)
主从复制包含两个步骤: 在 master 主服务器(组)上的设置,以及在 slave 从属服务器(组)上的设置. 环境: MASTER: 192.168.155.101SLAVE: 192.168.1 ...
- 解决Google Chrome浏览器字体模糊的问题
之前使用Google的Chrome浏览器一直觉得有时候,其显示的字体比较模糊,不管是Windows XP还是Windows 7都会出现要么显示的网页字体模糊,要么是Chrome浏览器本身显示的菜单模糊 ...
- 7.Struts2框架封装数据
Struts2框架提供了很强大的数据封装的功能,不再需要使用Servlet的API完成手动封装了!! 第一种方式:属性驱动 > 提供对应属性的set方法进行数据的封装.--经常使用 * 表单的哪 ...
- rsync+inotify同步备份文件
前言 rsync作用:man rsync可以看到解释为a fast, versatile, remote (and local) file-copying tool,主要进行文件的同步. inotif ...
- 2017-3-8 html基础标签
<head></head>头标签 <title>页面标签</title> <body>文档的内容可在浏览器中显视的</body> ...
- centos 服务器编译安装apache+php
1.检查服务器中是否自带httpd,如果/etc/httpd/httpd.conf,说明系统自带httpd服务,需要卸载或关闭服务,不要让他影响到本次安装的服务启动 可以用 service httpd ...
- 谈谈E语言
基于中国文化底蕴的编程语言, 绝对不是E语言那个样子. 基于中文的编程,必将是计算机届的一次原子爆炸!
- due to a StackOverflowError. Possible root causes include a too low setting for -Xss and illegal cyclic inheritance dependencies. The class hierarchy being processed was [org.jaxen.util.AncestorAxisIt
七月 31, 2019 4:39:01 下午 org.apache.catalina.startup.VersionLoggerListener log信息: Server version: Apac ...
- idea 设置默认maven auto import,不需要每次都弹出
1 2 误区 从这里点进去进行设置,或者每次打开项目右击下方的 auto impot都是不对的.