php ajax提交到控制器用接收,怎么用Thinkphp+jquery实现ajax的提交,接收处理和返回...

用户提问

其实和普通的处理方法的原理是一样的,只不过处理地方法可能有些不一样; 举个例子:向LoginController.class.php发送请求 JS : $.post('/Login/index',{'username':123456,'pwd':123456},function(data){ data就是返回过来的数据 },'json') PHP...

推荐答案

其实和普通的处理方法的原理是一样的,只不过处理地方法可能有些不一样;

举个例子:向LoginController.class.php发送请求

JS :  $.post('/Login/index',{'username':123456,'pwd':123456},function(data){

data就是返回过来的数据

},'json')

PHP : 用$_POST接收或者I('post.username'),I('post.pwd'),经过处理后返回处理结果,$this->ajaxReturn(array('status'=>1,'info'=>'登陆成功'));类似这样的

辅助答案

用户:驱蚊安德森

2016年06月11日

做的ajax发帖例子

html页面:

$(function(){

$('#btn').click(function(){

// 获取板块id的值

var bid = $("#bid").val();

var tname = $("#tname").val();

var content = ue.getContent();

if(!tname){

alert('帖子标题不能为空哦~');

return false;

}

if(!content){

alert('内容不能为空哦~');

return false;

}

if(!bid){

alert('非法操作');

}

$.get('{:U('Home/LunTan/add')}',{bid:bid,tname:tname,content:content},function(data){

console.log(data['href']);

var newDiv = $('#maxList').clone(true);

console.log(newDiv);

// 添加的主题

newDiv.find('#tn').html(data['tname']);

// 发帖的时间

newDiv.find('.date').html(data['posttime']);

// 发帖人

newDiv.find('#use').html(data['username']);

// newDiv.find('#bbid').attr('href',"{:U('Home/LunTan/reply',array('id'=>"data['id']",'bid'=>"data['bid']"))}");

newDiv.find('#bbid').attr('href',data['href']);

newDiv.show();

$('#maxList').before(newDiv);

},'json');

return false;

})

})

----php页面

public function add(){

// $.get('{:U('Home/LunTan/add')}',{bid:bid,tname:tname,content:content},function(data){

// 获取当前用户的id

$_POST['uid'] = $_SESSION['user']['id'];

$_POST['username'] = $_SESSION['user']['username'];

// 获取板块的id

$_POST['bid'] = $_GET['bid'];

// 获取板块的主题

$_POST['tname'] = $_GET['tname'];

// 获取帖子的内容

$_POST['content'] = $_GET['content'];

//主题添加时间

$_POST['posttime'] = time();

// 创建分页对象

$tiezi = M('tiezi');

$tiezi ->create();

$lastid =$tiezi->add($_POST);

if($lastid){

$_POST['id']= $lastid;

$_POST['href'] ="/index.php/Home/LunTan/reply/id/".$_POST['id']."/bid/".$_POST['bid'].".html";

// $_POST['href'] ="/index.php/Home/LunTan/reply/id/'.$_POST['id'].'/bid/'.$_POST['bid'].'.html";

// "{:U('Home/LunTan/reply',array('id'=>$vo['id'],'bid'=>$vo['bid']))}"

$this->ajaxReturn($_POST);

}

用户:阿丘阿阿阿

2016年05月19日

1、首先要引入jQuery包,

2、然後写出如下所示的代码样式:

$(function(){

$("#a").blur(function(){

var val=$(this).val();

url='__MODULE__/FORM/ajax';/*你所传的控制器的方法*/

data={value:val,type:'json'};/*数据以json格式发送出去*/

$.post(url,data,function(msg){ //msg是回调函数返回的数据

});

});

});

3、後台写个方法 如下所示:

public function ajax(){

if($_POST['type']=='json'){

$data=I('post.value');

接下来进行验证,或者是数据处理 比如说的到 布尔值

//调用函数

$this->ajaxReturn($booldata);

}

}

4、此时,msg收到的就是一个 後台传过来的 数据 $booldata

用户:liu009

2016年06月10日

php部分:

class XXXAction{

public function XXX()

{

$post= I('POST'); //根据需求可接收ajax data里面的数据

……

$result=XXX; //这里是你最后等到需要返回给AJAX的JSON数据;

$this->ajaxReturn(1, $result);//THINKPHP 返回AJAX的函数;

}

?>

AJAX部分:

$.ajax({

url:'请求PHP地址',

type:"POST",

data:'发送给PHP的数据',

dataType:"json",

jsonp:"callback",

success:function(data){

//成功后要进行的操作在这里编写

if (data.status==1) {

//data就是php发送过来的数据

}

}

})

用户:zzx1025

2016年06月28日

在模板文件中写ajax 例如

var data = {username:username,nickname:nickname,password:password,phone:phone,email:email,sex:sex,date:date,state:state};

$.ajax({

url:'__URL__/checkform',

data:data, //data是提交要处理的数据

type:'POST',

success:function(data){ //这个data是checkform返回的数值

//alert(data)

if(data ==0){

//成功

window.location.href ="{:U('User/index')}"

}else{

window.location.href ="{:U(User/add)}"

}

}

})

url是本控制器的checkform 方法 根据提交的数据进行操作 操作成功 返回一个值 不成功返回另一个值 然后你自己判断 进行跳转

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值