AG广东会,山东十一选五,大发

?
  • AG广东会400电话
  • 微网小程序
  • AI电话山东十一选五
  • 电商代运营
  • AG广东会,山东十一选五,大发:全 部 栏 目

    AG广东会400电话 网络优化推广 AI电话山东十一选五 呼叫中心 网站建设 商标?知产 微网小程序 电商运营 彩铃?短信 增值拓展业务
    beego获取ajax数据的实例

    1. 什么是AJAX

    Asynchronous JavaScript And XML(异步 JavaScript 及 XML),是指一种创建交互式网页应用的网页开发技术

    Ajax 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。

    2. 如何使用 AJAX

    XMLHttpRequest 是 AJAX 的基础。

    XMLHttpRequest 用于在后台与服务器交换数据。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。

    使用AJAX大致分四步

    1. 创建XMLHttpRequest 对象

    //js代码获取XMLHttpRequest 对象(保存为util.js)
    function getXmlHttpRequest() {
      var xhr;
      try {
        // Firefox, Opera 8.0+, Safari
        xhr = new XMLHttpRequest();
      } catch (e) {
        // Internet Explorer
        try {
          xhr = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
          try {
            xhr = new ActiveXObject("Microsoft.XMLHTTP");
          } catch (e) {
            alert("您的浏览器不支持AJAX!");
            return false;
          }
        }
      }
      return xhr;
    }

    2.注册状态回调函数(当XMLHttpRequest 对象的readyState每次发生变化时调用该回调函数)

    //当xhr.readyState == 4时所有的步骤都已执行完毕
    //当xhr.state == 200时表示已经正确执行
     xhr.onreadystatechange=function(){
      if(xhr.readyState == 4  xhr.state == 200){
        alter("请求已全部执行,并且成功");
      }
    }

    3.建立与服务器的异步连接(默认为异步)

    /**
     open(method,url,async)方法
     规定请求的类型、URL 以及是否异步处理请求。
     method:请求的类型;GET 或 POST
     url:相求处理请求的url
     async:true(异步)或 false(同步)
     通过time来保证,每次发送新的请求
    */
    xhr.open("Post", "/detailsU?time=" + new Date().getTime());

    4.发出异步请求

    /**
     send方法中发送json格式的字符串
    */
    xhr.send('{"Index":"'+index +'", "Change":"' + i +'"}');

    通过以上四步就可以成功的发送请求了

    附源码:

    {{range .PhoneDetails}}  
        tr }');
                  alert('修改成功');
                }
              } else {
                alert('输入错误');
              }
            }
          /script>
        /tr>
        {{end}}

    3. 在beego中处理AJAX的请求

    1. 首先在models层的models.go中创建数据的结构

    /**
     要与传过来的json格式字符串对应
     '{"Index":"'+index +'", "Change":"' + i +'"}'
    */
    type Object struct {
     Index string
     Change string
    }

    2. 注册相应的路由

    /**
     在main.go当中注册相应的路由(注意与对应路由设置好)
     xhr.open("Post", "/detailsU?time=" + new Date().getTime());
     "Post:DoUpdate"用来注册当Post方法请求该URL处理的函数
    */
    beego.Router("/detailsU", controllers.DetailController{}, "Post:DoUpdate")

    3. 在controller中写好相应的处理函数

    /**
     在对应的函数中处理相应的请求
     json.Unmarshal(this.Ctx.Input.RequestBody, ob)
     通过json来解析穿过来的数据,并将数据存储在ob对象中
     在app.conf中设置copyrequestbody = true
    */
    func (this *DetailController) DoUpdate(){
        ob := models.Object{}
        json.Unmarshal(this.Ctx.Input.RequestBody, ob)
        db, err := sql.Open("mysql", "用户名:密码@tcp(IP:3306)/数据库名")
        result, err := db.Exec("UPDATE 数据表名 SET 字段= ? WHERE id = ?",ob.Change, ob.Index)
        if err != nil{
          beego.Error(err)
          return
        }else{
           fmt.Println(result)
        }
    }

    以上这篇beego获取ajax数据的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

    上一篇:Golang中的int类型和uint类型到底有多大?
    下一篇:golang常用手册之切片(Slice)原理
  • 相关文章
  • ?

    ? 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    beego获取ajax数据的实例 beego,获取,ajax,数据,的,实例,

    AG广东会官网入口(中国)官方网站-IOS/Android通用版(2026已更新)