PHP--------TP中的ajax请求

以jQuery中的ajax为例:

(1)引入jQuery

通过模板替换表示路径,我们可以自定义模板替换变量(在config中定义)

/*自定义模板替换标签*/

'TMPL_PARSE_STRING' =>array(

'__JS__'=>'/Think_php/Public/script'

),

(2)发送ajax请求(跟jquery中的ajax一样8步)

(3)ajax回应(ajaxReturn()方法)

     该方法会将控制器回应的数据进行json编码

      ajaxReturn('返回的数据','提示信息','操作状态')

      请求成功返回1,失败返回0

    ajaxReturn() ,控制器给我们返回数据进行json格式的编码

需要保证客户端接收的时候也要保证接受的数据格式是json格式的

dataType: json

默认就是json格式的

例:用户名的验证用ajax请求

public function ab(){
  $this->display();
  }
public function ajax(){
  //echo $_POST['username'];
  $user_model=M('User');
  $pass=$user_model->field('dept_id')->where("user_name='".$_POST['username']."'")->select();
  if($pass[0]['dept_id']!=$_POST['password']){
    //ajax回应(ajaxReturn()方法,该方法会将控制器回应的数据进行json编码,ajaxReturn('返回的数据','提示信息','操作状态'),请求成功返回1,失败返回0
   $this->ajaxReturn(array('wrong'),'failed',0);
   //$this->ajaxReturn('成功','success',1);
   //echo 'error';
   }else{
    //echo 'success';
    $this->ajaxReturn(array('right'),'success',1);
    //$this->ajaxReturn('失败','error',0);

}
  }

tpl:

<form action="" method="post">
用户名:<input type="text" name="username" id="username"><br />

密码:<input type="password" name="password" id='password'><br />
<input type="button"  id="sub" value="提交">
<script type="text/JavaScript" src="__JS__/jquery-1.4.2.min.js"></script>

<script>
$(function(){
 $("#sub").click(function(){
  
  $.ajax({
   type:'POST',
   data:'username='+$("#username").val()+'&password='+$("#password").val(),
   url: '__URL__/ajax',
   async:true,
     dataType:'text',
   success:function(msg){
    alert(msg.data);<!--接收ajax函数返回的数据-->
    }
   
   })  
  })
 })
</script>

PHP--------TP中的ajax请求的更多相关文章

  1. javascrpt 中的Ajax请求

    回顾下javascript中的Ajax请求,写一个小例子: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN& ...

  2. ASP.NET Core Razor中处理Ajax请求

    如何ASP.NET Core Razor中处理Ajax请求 在ASP.NET Core Razor(以下简称Razor)刚出来的时候,看了一下官方的文档,一直没怎么用过.今天闲来无事,准备用Rozor ...

  3. HighCharts中的Ajax请求的2D折线图

    HighCharts中的Ajax请求的2D折线图 设计源码: <!DOCTYPE html> <html> <head> <meta charset=&quo ...

  4. 关于JQuery中的ajax请求或者post请求的回调方法中的操作执行或者变量修改没反映的问题

    前段时间做一个项目,而项目中所有的请求都要用jquery 中的ajax请求或者post请求,但是开始处理一些简单操作还好,但是自己写了一些验证就出现问题了,比如表单提交的时候,要验证帐号的唯一性,所以 ...

  5. [Web 前端] 如何在React中做Ajax 请求?

    cp from : https://segmentfault.com/a/1190000007564792 如何在React中做Ajax 请求? 首先:React本身没有独有的获取数据的方式.实际上, ...

  6. Struts2 在登录拦截器中对ajax请求的处理

    前言: 由于ajax请求不像http请求,可以直接进行页面跳转,你返回的所有东西,ajax都只会识别为一个字符串. 之前尝试的方法是在拦截器中返回一个标识给ajax,然后再在每一个ajax请求成功之后 ...

  7. React 中的 AJAX 请求:获取数据的方法

    React 中的 AJAX 请求:获取数据的方法 React 只是使用 props 和 state 两处的数据进行组件渲染. 因此,想要使用来自服务端的数据,必须将数据放入组件的 props 或 st ...

  8. SpringBoot入门07-Thymeleaf中显示ajax请求到的数据

    Thymeleaf中显示ajax请求所需依赖 <!--所需依赖--><dependency> <groupId>org.springframework.boot&l ...

  9. Java-如何挖取某个网站中的ajax请求信息

    通常情况,通过网络爬虫挖取到的基本为网页静态内容,而动态ajax取数的内容是我个人暂时不知如何一次性把网站中的ajax获取 这里介绍的是某个网站中的某一个ajax多某个table刷新,期数据,并提供其 ...

随机推荐

  1. HDU 4944 FSF’s game(2014 Multi-University Training Contest 7)

    思路:  ans[n]=  ans[n-1] + { (n,1),(n,2).....(n,n)}  现在任务 是 计算  { (n,1),(n,2).....(n,n)}(k=n的任意因子) 很明显 ...

  2. μC/OS-Ⅲ系统的源代码文件组织结构

  3. usb端口号绑定

    由于ubuntu USB设备号为从零开始依次累加,所以多个设备每次开机后设备号不固定,机器人每次开机都要蛋疼的按顺序插, 在网上找到一种方法:udev的规则 udev的规则说明,可以参考博客说明:ht ...

  4. Eclipse+Maven创建webapp项目

    Eclipse+Maven创建webapp项目<一> 1.开启eclipse,右键new-->other,如下图找到maven project 2.选择maven project,显 ...

  5. bzoj2141 树状数组套Treap树

    题目大意是在能够改变两个数的位置的情况下计算逆序对数 这因为是动态记录逆序对 本来单纯逆序对只要用树状数组计算即可,但这里因为更新,所以利用TReap树的删点和增加点来进行更新 大致是把每个树状数组所 ...

  6. 在Django中进行注册用户的邮件确认

    之前利用Flask写博客时(http://hbnnlove.sinaapp.com),我对注册模块的逻辑设计很简单,就是用户填写注册表单,然后提交,数据库会更新User表中的数据,字段主要有用户名,哈 ...

  7. svn图标不显示的解决方案

    最近发现svn图标莫名其妙的不显示,其他操作都正常.在网上搜了一些方法. 解决方法一(失败): 升级最新版本,我的本来就是最新版本 解决方法二(失败): 右键->TortoiseSVN-> ...

  8. 更改mysql中当前auto_increment的值的方法

    最近给自己网站更改mysql中当前auto_increment的值 如果在mysql中一个表test中的ID字段设为auto_increment插入两条记录后ID=2,这时删除1条记录,再插入一条变成 ...

  9. 对客户推荐产品模型+python代码

    首先观看数据: l  数据的基本特征用  describe  描述每个基本特征 l  画图画出每个特征的基本统计图 应用import matplotlib.pylab as pl  画图显示 l  关 ...

  10. [SHELL]判断一个命令是否存在

    首先要说明的是,不要使用which来进行判断,理由如下: 1.which非SHELL的内置命令,用起来比内置命令的开销大,并且非内置命令会依赖平台的实现,不同平台的实现可能不同. # type typ ...