首先得引入 jquery 文件,另外定义一个处理的 js.js 文件

如实现用 post 传输方法:

模板文件:

<script type="text/javascript">
 var handleUrl = '{:U("process", '', '')}'; //如果是分组的,要给完整的处理方法路径,如 '{:U(分组名/模块/操作名, '', '')}'

                    // U 函数后面的两个空参数除去不必要的内容,让其映射到特定的操作名
</script>

<form action="" method="post" name="wishform">
<input type="text" name="username" id="user" /><br />
<textarea cols="30" rows="3" name="content" id="content"></textarea>
<br />
<input type="submit" value="submit" name="submit" id="sub" />
</form>

js.js 内容如下:

$(document).ready(function(){
 $('#sub').click(function(){

var user = $('input[name=username]');
  var content = $('textarea[name=content]');
  if(user.val() == ''){
   alert("USER: 不能为空!");
   return false;
  }
  if(content.val() == ''){
   alert("Content: 不能为空!");
   return false;
  }

// $.post(处理的函数名称,{格式选项属性},用于处理返回数据的函数, 数据格式)

$.post(handleUrl,{username:user.val(),content:content.val()}, function(data){
   if(data.status){
    alert("发布成功!");
   }else{
    alert("发布失败!");
   }
  }, 'json');

return false; // 防止冒泡发生。。。
 });
});

handleUrl 操作(在控制器中添加):

public function handle(){

// 判断是不是 ajax 提交
   if(!IS_AJAX) halt('非法提交');

// 获取提交过来的数据
    $data = array(
     'username'=>I('username'),
     'content'=>I('content'),
     'time'=>time()
    );
  //添加到数据库以及作反应返回
   if(M('数据表名')->data($data)->add()){
    $data['status'] = 1;
    $this->ajaxReturn($data,'json');
   }else{
    $data['status'] = 0;
    $this->ajaxReturn(array('status'=>0),'json');
   }

}

如实现用 get 传输方法:

模板文件:

<script type="text/javascript">
 var handleUrl = '{:U("process", '', '')}'; //如果是分组的,要给完整的处理方法路径,如 '{:U(分组名/模块/操作名, '', '')}'

                    // U 函数后面的两个空参数除去不必要的内容,让其映射到特定的操作名
</script>

</head>
<body>
<form action="" method="get" name="wishform">
<input type="text" name="username" id="user" /><br />
<textarea cols="30" rows="3" name="content" id="content"></textarea>
<br />
<input type="submit" value="submit" name="submit" id="sub" />
</form>

js.js 文件:

$(document).ready(function(){
 $('#sub').click(function(){

var user = $('input[name=username]');
  var content = $('textarea[name=content]');
  if(user.val() == ''){
   alert("USER: 不能为空!");
   return false;
  }
  if(content.val() == ''){
   alert("Content: 不能为空!");
   return false;
  }

htmlobj = $.ajax({url:handleUrl+'?username='+user.val()+'&content='+content.val(), async:false});
  alert(htmlobj.responseText);
  return false;
 });
});

handleUrl 操作(在控制器中添加):

public function handle(){

// 判断是不是 ajax 提交
   if(!IS_AJAX) halt('非法操作');

// 获取提交过来的数据
     $username=I('username'),
     $content=I('content'),
// 作为 responseText() 返回

echo '要显示的信息';

}

think ajax 应用的更多相关文章

  1. jQuery之ajax实现篇

    jQuery的ajax方法非常好用,这么好的东西,你想拥有一个属于自己的ajax么?接下来,我们来自己做一个简单的ajax吧. 实现功能 由于jq中的ajax方法是用了内置的deferred模块,是P ...

  2. Ajax及跨域

    概念 Ajax Ajax,Asynchronous JavaScript and XML,字面意思:异步的 JavaScript 和 XML,是指一种创建交互式网页应用的网页开发技术. 用于异步地去获 ...

  3. 一个粗心的Bug,JSON格式不规范导致AJAX错误

    一.事件回放  今天工作时碰到了一个奇怪的问题,这个问题很早很早以前也碰到过,不过没想到过这么久了竟然又栽在这里. 当时正在联调一个项目,由于后端没有提供数据接口,于是我直接本地建立了一个 json ...

  4. ABP文档 - Javascript Api - AJAX

    本节内容: AJAX操作相关问题 ABP的方式 AJAX 返回信息 处理错误 HTTP 状态码 WrapResult和DontWrapResult特性 Asp.net Mvc 控制器 Asp.net ...

  5. ajax异步请求

    做前端开发的朋友对于ajax异步更新一定印象深刻,作为刚入坑的小白,今天就和大家一起聊聊关于ajax异步请求的那点事.既然是ajax就少不了jQuery的知识,推荐大家访问www.w3school.c ...

  6. 调用AJAX做登陆和注册

    先建立一个页面来检测一下我们建立的用户名能不能用,看一下有没有已经存在的用户名吗 可以通过ajax提示一下 $("#uid").blur(function(){ //取用户名 va ...

  7. Ajax 概念 分析 举例

    Ajax是结合了访问数据库,数据访问,Jquery 可以做页面局部刷新或者说是页面不刷新,我可以让页面不刷新,仅仅是数据的刷新,没有频繁的刷页面,是现在比较常用的一种方式做页面那么它是怎么实现页面无刷 ...

  8. ajax

    常见的HTTP状态码状态码:200 请求成功.一般用于GET和POST方法 OK301 资源移动.所请求资源移动到新的URL,浏览器自动跳转到新的URL Moved Permanently304 未修 ...

  9. 学习笔记之MVC级联及Ajax操作

    由于刚转型到MVC,MVC的架构模式很多不是很清楚,比如今天就想做个级联的操作,因为之前的ASP.NET的方式是通过:控件-->添加事件-->后台编写级联事件进行触发,但是这个MVC就不同 ...

  10. javascript表单的Ajax 提交插件的使用

    Ajax 提交插件 form.js 表单的下载地址:官方网站:http://malsup.com/jquery/form/ form.js 插件有两个核心方法:ajaxForm()和ajaxSubmi ...

随机推荐

  1. CSS入门基础

    认识CSS 传统HTML设计网页版面的缺点 CSS的特点 CSS的排版样式 13.1 认识CSS CSS的英文全名是Cascading Style Sheets,中文可翻译为串接式排版样式,并且CSS ...

  2. 跑马灯效果的TextView之singLine 和maxLines

    Android 的TextView 里面有两个属性 singLine 和maxLines . 从字面意思来理解,这两个都是限制Text的行数.那么singleLine="true" ...

  3. ZooKeeper场景实践:(6)集群监控和Master选举

    1. 集群机器监控 这通经常使用于那种对集群中机器状态,机器在线率有较高要求的场景,可以高速对集群中机器变化作出响应.这种场景中,往往有一个监控系统,实时检測集群机器是否存活. 利用ZooKeeper ...

  4. Unityclient通信測试问题处理(二)

    Unityclient通信測试问题处理(二) 在client的通信測试过程中.场景载入的问题给自己带来了不小的麻烦.由于消息的解析方法在单独的监听线程中调用,这也就意味着无法在消息的解析方法中调用Un ...

  5. vs调试 本地IIS

    http://www.cnblogs.com/minesky/p/3389955.html 准备篇-配置IIS环境 网站发布到测试环境或者生产后,经常会出现各种让人解不开的疑问,想调试也调试不了.可以 ...

  6. mongodb的地理位置索引

    mongoDB支持二维空间索引,使用空间索引,mongoDB支持一种特殊查询,如某地图网站上可以查找离你最近的咖啡厅,银行等信息.这个使用mongoDB的空间索引结合特殊的查询方法很容易实现.前提条件 ...

  7. [GIF] Shape Objects in GIF Loop Coder

    This lesson is a quick tour of the predefined shape objects in GIF Loop Coder. function onGLC(glc) { ...

  8. iOS之UIview动画

    一.UIView动画(首尾) 1.简单说明 UIKit直接将动画集成到UIView类中,当内部的一些属性发生改变时,UIView将为这些改变提供动画支持 执行动画所需要的工作由UIView类自动完成, ...

  9. 爬虫神器XPath,程序员带你免费获取周星驰等明星热门电影

    本教程由"做全栈攻城狮"原创首发,本人大学生一枚平时还需要上课,但尽量每日更新文章教程.一方面把我所习得的知识分享出来,希望能对初学者有所帮助.另一方面总结自己所学,以备以后查看. ...

  10. Oracle初始化

    /*第1步:创建临时表空间 */ create temporary tablespace mdb_temp tempfile 'G:\data\oracle\mdb_temp.ora' size 10 ...