zoukankan      html  css  js  c++  java
  • 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显示。

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

  • 相关阅读:
    发布在《30天自制操作系统》之前的操作捷径必读贴
    写在《30天自制操作系统》上市之前
    JS跨域代码片段
    C#简单操作XML
    Application Session Cookie ViewState Cache Hidden 区别
    C# string 特殊引用类型
    精通CSS高级Web标准解决方案:相对定位与绝对定位
    精通CSS高级Web标准解决方案:浮动
    精通CSS高级Web标准解决方案:背景图像基础
    char、varchar、nchar、nvarchar的区别
  • 原文地址:https://www.cnblogs.com/WuNaiHuaLuo/p/4448613.html
Copyright © 2011-2022 走看看