怎么用Thinkphp+jquery实现ajax的提交,接收处理和返回

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么用Thinkphp+jquery实现ajax的提交,接收处理和返回相关的知识,希望对你有一定的参考价值。

参考技术A <span class="jijin_btn" id="upgradebrokers">我要升级</span></li>

<script>
//我要升级
$(function()
$("#upgradebrokers").click(function()
var ajaxurl=":U('Upgradebroker/upgrade')";//ajax提交路径 提交给哪个php文件里的哪个方法 这里是提交给upgrade方法去处理
$.ajax(
type:"post",
url:ajaxurl,
//async:true,
data:,
dataType:"json",
success:function(data)
if (data.status == 1)

//alert(data.msg);
$(".main-bg").show();
$(".jinji_fnBox2").show();

else if(data.status == 2)
// alert(data.msg);
$(".main-bg").show();
$(".jinji_fnBox1").show();

else if(data.status == 0)
alert(data.msg);
//window.location.reload();
else
alert(data.msg);
//window.location.reload();


);
);
);
</script>

php里面upgrade方法
public function upgrade()

//数据处理
.....
...
...

//判断结果

if(!$res)
$lastid=$Upgrade->add($updata);

if($lastid)
$this->ajaxReturn(array('status'=>1,'msg'=>'申请成功'));
else
$this->ajaxReturn(array('status'=>-1,'msg'=>'申请失败'));
else

$this->ajaxReturn(array('status'=>0,'msg'=>'您已申请过了,请等待审核...'));



参考技术B 首先,需要引入Jquery包
其次,需要写如下格式:(举个例子)
<script type="text/javascript">

<script>
$("#btn").click(function()
$.ajax(
'url':"demo3.php",
'data':'username':'科学家','age':18,
'success':function(msg)
$('#span').html(msg);
,
'dataType':'html',
'type':'post',
);
);
</script>
后台是这样写的
<?php

echo "我要做个科学家";

echo "<pre>";
var_dump($_POST);
echo "</pre>";

基于php(Thinkphp)+jquery 实现ajax多选,反选,不选 删除数据 新手学习向

jquery多选源码来源素材火http://www.sucaihuo.com/

(有什么问题可以私本人邮箱[email protected],也可加qq来时表明来意即可)

建议有js基础,了解jquery,thinkphp,废话不说多下面就上代码

《————HTML————》

 1 //thinkphp循环显示把data里fid赋予多选框
 2 <volist name="data" id="vo">
 3 <tr>
 4       <td><input type="checkbox" value="{$vo.fid}"/></td>//可在后面加td输入参数    
 5 </tr>
 6 </volist>
 7 <tr>
 8 <th width="80"><input type="checkbox" id="all"/>全选</th>
 9 <th width="80"><input type="button" value="全选" class="btn" id="selectAll" /></th>
10 <th width="80"><input type="button" value="全不选" class="btn" id="unSelect" /></th>
11 <th><input type="button" value="反选" class="btn" id="reverse" /></th> 
12 <th width="180">
13   <a href="javascript:void(0);" onclick="del()" title="删除选定数据">删除</a>
14 </th> 
15 </tr>

《————jsvascript————》

 

 1 <script>
 2         //多选
 3         $("#all").click(function(){     
 4         if(this.checked){     
 5                 $("#list :checkbox").attr("checked", true);    
 6             }else{     
 7                 $("#list :checkbox").attr("checked", false);  
 8             }     
 9         });
10         //当点到全选按钮
11         $("#selectAll").click(function () {  
12            $("#list :checkbox,#all").attr("checked", true);    
13         });
14         //全不选
15         $("#unSelect").click(function () {    
16            $("#list :checkbox,#all").attr("checked", false);    
17         });
18         //反选
19         $("#reverse").click(function () {   
20             $("#list :checkbox").each(function () {    
21                 $(this).attr("checked", !$(this).attr("checked"));    
22             });  
23             allCheck();  
24         });
25         //删除
26         function del(){
27             var valArr = new Array;
28             $("#list :checkbox[checked]").each(function(i){  
29                 valArr[i] = $(this).val();  
30            });
31            var vals = valArr.join(‘,‘);//数组转换以逗号隔开的字符串 
32             if (valArr.length == 0) {
33                 alert(‘请选择要删除的选项‘);
34             }else{
35                 if (confirm("确定删除?删除后将无法恢复。")){
36                     var data={name:vals};
37                     $.ajax({
38                        type: "post",
39                        url: "{:U(‘College/School/faculty_del‘)}",//url为tp方法(控制器/方法)
40 data:data, 41 success: function(json) { 42 var obj = eval(‘(‘ + json + ‘)‘);//返回回来的json转化为js对象 43 if (parseInt(obj.counts) > 0) { 44 alert(obj.des); 45 location.reload(); 46 } else { 47 alert(obj.des); 48 } 49 }, 50 error: function(XMLHttpRequest, textStatus) { 51 alert("页面请求错误,请检查重试或联系管理员!\n" + textStatus); 52 } 53 }); 54 } 55 } 56 57 } 58 </script>

 《————PHP————》

 1     public function faculty_del(){
 2         $fid = trim($_POST[‘name‘]);
 3         //以下为查询条件
 4         $bname[‘deletemark‘] = 0;
 5         $res = $this->faculty_model
->where(array(‘fid‘=>array(‘in‘,$fid)))
->save($bname);
//查询条件为你的查询条件,我这边为逻辑删除,修改字段值就好
6 // echo $this->faculty_model->getLastSql(); 7 // var_dump($res); 8 // exit; 9 if ($res) { 10 $counts = "1"; 11 $des = "成功"; 12 } else { 13 $counts = "0"; 14 $des = "失败"; 15 } 16 $json_data = "{"; 17 $json_data.= "\"counts\":".json_encode($counts).","; 18 $json_data.= "\"des\":".json_encode($des).""; 19 $json_data.= "}"; 20 echo $json_data; 21 exit; 22 }

由于是异步所以你发过来的数据都在控制台查看,当前页面没输出,不要去页面上去找(不要问我为什么知道,我干过,想起来真蠢)





以上是关于怎么用Thinkphp+jquery实现ajax的提交,接收处理和返回的主要内容,如果未能解决你的问题,请参考以下文章

ThinkPHP JQuery Ajax 的实现实例

jquery+thinkphp实现跨域抓取数据的方法

thinkphp 用jquery ajax前后台交互

基于php(Thinkphp)+jquery 实现ajax多选,反选,不选 删除数据 新手学习向

thinkphp中怎么用ajax?

文章或者观点说说等点赞功能实现(thinkphp)