ThinkPHP中ajax提交数据
最近在做项目时遇到了一些需要从页面用ajax提交数据到后台的操作,无奈本人技术有限,网上苦寻,研究了一下ajax和thinkPHP的结合,黄天不负苦心人,终于搞定了。
闲话少叙,进入正题:我需要从页面中的一系列列表中,提交数据id到后台,然后从后台接收id数据,然后进行操作。
$.ajax({
type:"GET",
url:"__URL__/DelBatch",
data:{id:ids},
dataType: "json",
success:function(ss){
alert(ss);
}
});
参数解析:
type:表示请求的方式,post或get,默认为get。
url:数据所要提交到的url地址。
data:表示所要提交的数据。JSON格式(键值对)。代码中第一个id表示变量名,第二个ids表示具体的值,即第一个id变量所对应的值。
dataType:预期服务器返回的数据类型。若不指定,jquery将自动根据http包MIME信息来智能判断(w3c抄袭,具体不懂,大概是根据MIME的类型来返回值的类型)
success:请求成功后后调用的回调函数。
ajax请求数据还有很多参数,比如beforeSend、error等,大家若想详细了解可以上网去查。
有了这段代码,用户在执行点击等操作时就可以将数据以get的方式提交到后台。
后台数据接收:
function DelBatch(){
if(IS_GET)
{
$id=$_GET["id"];
$this->ajaxReturn($id);
} }
thinkPHP中具有对请求类型进行判断的封装,其中具有对几种请求类型的判断:
IS_POST:判断是否是POST方式提交
IS_GET:判断是否是GET方式提交
IS_AJAX:判断是否是ajax方式提交
public function check(){
if(IS_GET){
//若是,执行响应操作
}
else{
$this->error("非法请求!");
}
}
在上述代码中,首先进行了请求类型的判断,若请求一致,则进行相应操作,否则,显示当前请求为非法请求。
插入一段,回到正题:
在后台接收数据时,首先同样进行了请求的判断。然后通过$id=$_GET["id"]得到页面提交过来的数据,然后进行数据返回。
ThinkPHP对ajax有很好的支持,系统\Think\Controller类中提供了ajaxReturn方法用于对ajax调用后返回数据给客户端,支持JSON,JSONP,XML和EVAL四种方式返回数据的类型。默认采用JSON格式返回数据。
开始做时,仅仅在方法中echo了一个数据出来,苦思半天,以为在提交数据时没有找到相应方法,其实不然,thinkPHP封装了ajaxReturn方法,专门用于将数据返回供页面使用。所以,在页面的success的function中接收到数据,然后将数据alert显示。
随笔一篇,记录一下,希望对大家有所帮助。
ThinkPHP中ajax提交数据的更多相关文章
- Django中Ajax提交数据的CSRF问题
错误信息: Forbidden (CSRF token missing or incorrect.): 什么是CSRF: django为用户实现防止跨站请求伪造的功能,通过中间件 django.mid ...
- thinkphp中ajax使用实例(thinkphp内置支持ajax)
thinkphp中ajax使用实例(thinkphp内置支持ajax) 一.总结 1.thinkphp应该是内置支持ajax的,所以请求类型里面才会有是否是ajax // 是否为 Ajax 请求 if ...
- ajax提交数据
ajax提交数据 注意:获取值可以从方法参数传过来 也可以通过jquery获取对应标签的值:同时参数要与请求的动作方法的参数一致,否则值无法映射 发送 ajax (get 方式简写)请求 注 ...
- thinkphp中AJAX返回ajaxReturn()方法分析
本文分析了thinkphp中AJAX返回ajaxReturn()方法.分享给大家供大家参考,具体如下: 系统支持任何的AJAX类库,Action类提供了ajaxReturn方法用于AJAX调用后返回数 ...
- jquery ajax提交数据给后端
大家好,今天铁柱兄给大家带一段jquery ajax提交数据给后端的教学. 初学javaweb的同学前端提交数据基本上都是用form表单提交,这玩意儿反正我是觉得不太好玩.而JavaScript aj ...
- 扩展auth_user字段、BBS需求分析、创建BBS数据库、注册页面搭建与用户头像展示及Ajax提交数据
昨日内容回顾 csrf跨站请求 1. SQL注入 2. xss攻击 3. csrf跨站请求 4. 密码加密(加盐) '''django中默认有一个中间件来验证csrf''' # 只针对post请求才验 ...
- form表单提交数据,页面必定会刷新,ajax提交数据不会刷新,做到悄悄提交,多选删除,ajax提交实例
很多页面用到的模态对话框,如知明网站https://dig.chouti.com/的登录页都是模态对话框, 当点登录时,是用的ajax提交,因为输入错了信息,有返回消息,而页面没有刷新. jquery ...
- 关于thinkphp中post提交空白的思考
关于thinkphp中post提交空白的思考 首选检查 目标路径是否存在 如果目标URL不存在 那肯定是空 如果提交的路径存储 TP这种完善的系统肯定会提示 各种报错了
- 第一百五十九节,封装库--JavaScript,表单序列化结合ajax提交数据
封装库--JavaScript,表单序列化结合ajax提交数据 封装库,表单序列化方法 /** xu_lie_biao_dan()方法,表单序列化方法,将自动获取指定表单里面的各项字段name值和va ...
随机推荐
- java实现二叉树的相关操作
import java.util.ArrayDeque; import java.util.Queue; public class CreateTree { /** * @param args */ ...
- js中添加事件 attachEvent 与 addEventListener
给元素添加事件时,使用js进行实现时产生了疑惑,有关事件浏览器兼容的问题,在此记录如下. <!DOCTYPE html> <html> <head> <met ...
- ASP.NET版本的Kindeditor插件的使用
1.先从官网中现在最新版本的Kindeditor,官网地址:http://www.kindsoft.net/ 下载之后的目录结构如下:
- HTTP缓存缓存机制
http协议无状态,所以缓存设定从两方面考虑.客户端浏览器和服务器端. 浏览器端实现过期机制. 服务器端实现验证机制. 缓存机制. 为了减轻服务器负担,也减少网络传输数量.http1.0定义了Expi ...
- php 验证身份证有效性,根据国家标准GB 11643-1999 15位和18位通用
//验证身份证是否有效 function validateIDCard($IDCard) { if (strlen($IDCard) == 18) { return check18IDCard($ID ...
- Centos6.5 Qt4开发 Cannot find -lGL QApplication not file or dir
1,QApplication 头文件不存在
- UICollectionView基础学习
相信了解UICollectionView的也一定听过瀑布流吧,开始之前先提供两个瀑布流,有时间的可以深入研究研究 https://github.com/dingpuyu/WaterFall https ...
- hdu 5115 Dire Wolf(区间dp)
Problem Description Dire wolves, also known as Dark wolves, are extraordinarily large and powerful w ...
- maven项目打包
配置 你的pom.xml文件,配置 packaging为 war ,然后点击 pom.xml右键,run as 选择 install 或是 package: 如果项目没问题,配置没问题,就会在项目的t ...
- iOS学习,需要懂的一些基础
1. KVC 与 KVO 全称是Key-value coding,翻译成键值编码.顾名思义,在某种程度上跟map的关系匪浅.它提供了一种使用字符串而不是访问器方法去访问一个对象实例变量的机制. 全称 ...