• ThinkPHP中ajax提交数据


    最近在做项目时遇到了一些需要从页面用ajax提交数据到后台的操作,无奈本人技术有限,网上苦寻,研究了一下ajax和thinkPHP的结合,黄天不负苦心人,终于搞定了。

    闲话少叙,进入正题:我需要从页面中的一系列列表中,提交数据id到后台,然后从后台接收id数据,然后进行操作。

    $.ajax({
                            type:"GET",
                            url:"__URL__/DelBatch",
                            data:{id:ids},
                            dataType: "json",
                            success:function(ss){
                                alert(ss);
                            }
                        });

    参数解析:

      type:表示请求的方式,post或get,默认为get。

      url:数据所要提交到的url地址。

      data:表示所要提交的数据。JSON格式(键值对)。代码中第一个id表示变量名,第二个ids表示具体的值,即第一个id变量所对应的值。

      dataType:预期服务器返回的数据类型。若不指定,jquery将自动根据http包MIME信息来智能判断(w3c抄袭,具体不懂,大概是根据MIME的类型来返回值的类型)

      success:请求成功后后调用的回调函数。

    ajax请求数据还有很多参数,比如beforeSend、error等,大家若想详细了解可以上网去查。

    有了这段代码,用户在执行点击等操作时就可以将数据以get的方式提交到后台。

    后台数据接收:

    function DelBatch(){        
            if(IS_GET)
            {
                $id=$_GET["id"];
                $this->ajaxReturn($id);
            }
            
        }

    thinkPHP中具有对请求类型进行判断的封装,其中具有对几种请求类型的判断:

      IS_POST:判断是否是POST方式提交

      IS_GET:判断是否是GET方式提交

      IS_AJAX:判断是否是ajax方式提交

    public function check(){
        if(IS_GET){
            //若是,执行响应操作
        }
        else{
            $this->error("非法请求!");
        }
    }

    在上述代码中,首先进行了请求类型的判断,若请求一致,则进行相应操作,否则,显示当前请求为非法请求。

    插入一段,回到正题:

    在后台接收数据时,首先同样进行了请求的判断。然后通过$id=$_GET["id"]得到页面提交过来的数据,然后进行数据返回。

    ThinkPHP对ajax有很好的支持,系统ThinkController类中提供了ajaxReturn方法用于对ajax调用后返回数据给客户端,支持JSON,JSONP,XML和EVAL四种方式返回数据的类型。默认采用JSON格式返回数据。

    开始做时,仅仅在方法中echo了一个数据出来,苦思半天,以为在提交数据时没有找到相应方法,其实不然,thinkPHP封装了ajaxReturn方法,专门用于将数据返回供页面使用。所以,在页面的success的function中接收到数据,然后将数据alert显示。

    随笔一篇,记录一下,希望对大家有所帮助。

  • 相关阅读:
    模块-和包
    re模块
    递归函数
    内置函数
    C++ 创建文件的方法
    C++多态的实现条件
    C++常见错误总结
    Http客户端跳转和服务器端跳转的区别
    struts1学习
    Java 核心读书笔记 第11章
  • 原文地址:https://www.cnblogs.com/WuNaiHuaLuo/p/4448613.html
Copyright © 2020-2023  润新知