说到ajax,那绝对是一个老生常谈的话题,近些年ajax技术的使用颇为盛行。

以下我们就以jQuery为例来从一个真实的项目中看一下ajax的实例。

首先是前端页面,这个页面我们使用的是bootstrap和自己的若干技术,最后我们有一个button。它的源码例如以下:

$deal .= '<a href="javascript:void(0);" class="btn btn-danger btn-mini" onclick="deleteOne('.$Id.');">删除</a>';

相信有js基础的朋友们读懂这个代码不是问题。这里须要说明几点:

1.它使用了bootstrap。因此我们会看到诸如btn  btn-danger  btn-mini这些东西,

2.它调用了一个deleteOne()函数,而该函数中的參数$Id是PHP中的变量。

然后就是这个deleteOne方法的代码,注意这里我们导入了jQuery库。当然另一些其它的库。这里仅仅写当中比較重要的部分代码:

<script type="text/javascript">
var base_url='<?php echo base_url();?>';
$(function(){
deleteOne=function(id,time){
var t='3000';if(isNullOrEmpty(time)){t='3000';}else{t=time;}
var icon='<?php echo base_url();? >assets/dialog/icons/';
showDialog('确定要删除?',function(){
var url='<?=@$site_url.'/'.@$module.'/delete';?>';
var data={'Id':id}
$.ajax({
//async: true,//是否为异步请求
type: "POST",//GET POST
url: url,
//data: data,
data:'Id='+id,
//dataType: "json",
//beforeSend: function(XMLHttpRequest, textStatus){},
success: function(data){//,textStatus
//console.log(data);
var msg=data.message;
//if(data.status){refreshGrid();i='succeed.png';}else{i='info.png';}
showDialog(msg);
window.location.reload();
}
//complete: function(XMLHttpRequest, textStatus){},
/*error: function(XMLHttpRequest, textStatus, errorThrown){
var msg=("Error");i='error.png';
showDialog(msg);
}*/
});
});
}
});
</script>

到这里。我们还差一步就完毕了。就是delete方法,以下是它的实现过程:

public function delete(){
if (! isPost ()) {
$msg='输入的链接不对! ';
showErrorMsg($msg);
}
$action='delete';
$module=$this->module;
$arrLang=lang('common_'.$module);
$title=$arrLang[$action]; $arr_post=$this->input->post();
$arr_post=setForm($arr_post);
$Id=@$arr_post['Id'];
$status=FALSE;
$logType=0; if(!isNullOrEmpty($Id)){
$del_where=array('ID'=>$Id);
$this->common_model->table='mx_changci';
$result = $this->common_model->delete( $del_where );
if ($result) {
$status = TRUE;
$message = $title.'成功! ';
} else {
$status = FALSE;
$message = $title.'失败!';
} }else{
$status=FALSE;
$message= $title.'出错! ';
$logType=3;
} $jsonData['status']=$status;
$jsonData['message']=$message;
header("Content-type: application/json");
echo json_encode($jsonData);
}

这就是我近期參与的项目中的一个简单的ajax的实现

辛星浅析一次ajax的实现过程的更多相关文章

  1. 辛星浅析跨域传输的CORS解决方式

    首先我们有一个概念.那就是"同源准则",也就是same-origin  policy,它要求一个站点(协议+主机+port号)来确定的脚本.XMLHttpRequest和Webso ...

  2. 辛星浅析Linux中的postfix

    Postfix是眼下Linux下主流的邮件server,也就是MTA,主要用来实现SMTP协议,它能够兼容sendmail.而postfix也是为了改进sendmail而制作产生的. 通常来说.pos ...

  3. 辛星浅析raid

    我们来分析一下影响计算机性能的主要组件,主要就是CPU.主板的总线IO.内存IO.硬盘IO.网卡IO等等,并且如今CPU的性能已经非常好了,可是计算机的总体的IO性能却较低,严重影响了计算机的性能,如 ...

  4. 辛星浅析html5中的role属性

    我们使用role属性告诉辅助设备.这个元素所扮演的角色.比方点击的按钮,我们通常就使用role="button",会让这个元素可点击. 可是它很多其它的是用来增强语义性,当现有的h ...

  5. 辛星浅析yaf框架中的类的自己主动载入问题

    因为公司非常多项目都是基于yaf的,而非常多刚接触yaf的朋友问的第一个问题就是:yaf的自己主动载入是依照什么规则来的. 鉴于此.于是我特别开了一篇博文来记录一下. 首先在yaf中.models文件 ...

  6. 2014年辛星jquery解读第三节 Ajax

    ***************Ajax********************* 1.Ajax是Asynchronous Javascript And  XML的简写,它指的是异步Javascript ...

  7. 2014年辛星完全解读Javascript第一节

    ***************概述*************** 1.Javascript是一种原型化继承的基于对象的动态类型的脚本语言,它区分大小写,主要运行在客户端,用户即使响应用户的操作并进行数 ...

  8. 2014在辛星Javascript口译科

    ***************概要*************** 1.Javascript是一种原型化继承的基于对象的动态类型的脚本语言,它区分大写和小写.主要执行在client,用户即使响应用户的操 ...

  9. 浅析JSONP-解决Ajax跨域访问问题

    浅析JSONP-解决Ajax跨域访问问题 很久没有写随笔了,总是感觉没时间,其实时间就是...废话少说,前几天,工作上有一新需求,需要前端web页面异步调用后台的Webservice方法返回信息.实现 ...

随机推荐

  1. set指令详解

    set指令详解 功能说明:设置shell 语 法:set [-abefhkmnptuvxBCHP] [-o option-name] [--] [arg ...] 说 明:设置或取消设置shell选项 ...

  2. vsftpd系统用户配置详解

    1.安装yum -y install pam pam-devel db4 de4-devel db4-uitls db4-tclyum -y install vsftpd 新建vsftpd系统用户:u ...

  3. Flask--登录检查(简单篇)---xunfeng巡风实例篇

    如果session返回的是loginsuccess,那么通过redirect直接跳转到执行的页面或者view. 同时通过装饰器的形式.. # -*- coding: UTF-8 -*- from fu ...

  4. 局部二值模式(Local Binary Patterns)纹理灰度与旋转不变性

    Multiresolution Gray Scale and Rotation Invariant Texture Classification with Local Binary Patterns, ...

  5. FZU-2147-2147 A-B Game,规律题。。

    Problem 2147 A-B Game Time Limit: 1000 mSec Memory Limit : 32768 KB  Problem Description Fat brother ...

  6. mysql5.7.20主从和主主搭建

    环境描述mysql主从和主主同步 注意事项:1)同步服务器网络联通,ping通,对方授权信息连接到对方数据库(防火墙开发3306)2)关闭SELinux3)同步前,双方数据库需要同步数据保持一致. 主 ...

  7. docker容器的导入导出

    导出容器docker export 导出容器快照到本地文件$ sudo docker ps -aCONTAINER ID        IMAGE               COMMAND      ...

  8. POJ1256 Anagram

    Time Limit: 1000MS   Memory Limit: 10000KB   64bit IO Format: %lld & %llu Submit Status Descript ...

  9. as3 二维数组的定义

    大家都知道as3里面是不能直接定义多维数组 所以不能直接用arr[2][3]这样的方法来获取数组里面的值.如何才能创立多维数组了? 方法如下先定义一个数组 var MapData:Array=new ...

  10. UVA 11827 Maximum GCD【GCD,stringstream】

    这题没什么好说的,但是输入较特别,为此还WA了一次... 题目链接: https://uva.onlinejudge.org/index.php?option=com_onlinejudge& ...