go ajax接口,beego 获取 ajax 数据的实例

beego 获取 ajax 数据的实例

beego 获取 ajax 数据的实例

这里有新鲜出炉的 GO 语言教程, 程序狗速度看过来!

Go 语言

Go 是一种新的语言, 一种并发的带垃圾回收的快速编译的语言 Go 是谷歌 2009 年发布的第二款编程语言 2009 年 7 月份, 谷歌曾发布了 Simple 语言, 它是用来开发 Android 应用的一种 BASIC 语言

下面小编就为大家分享一篇 beego 获取 ajax 数据的实例, 具有很好的参考价值, 希望对大家有所帮助一起跟随小编过来看看吧

1. 什么是 AJAX

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

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

2. 如何使用 AJAX

XMLHttpRequest 是 AJAX 的基础

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

使用 AJAX 大致分四步

1. 创建 XMLHttpRequest 对象//js 代码获取 XMLHttpRequest 对象 (保存为 util.js)

functiongetXmlHttpRequest(){

varxhr;

try{

// Firefox, Opera 8.0+, Safari

xhr=newXMLHttpRequest();

}catch(e){

// Internet Explorer

try{

xhr=newActiveXObject("Msxml2.XMLHTTP");

}catch(e){

try{

xhr=newActiveXObject("Microsoft.XMLHTTP");

}catch(e){

alert("您的浏览器不支持 AJAX!");

returnfalse;

}

}

}

returnxhr;

}

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="+newDate().getTime());

4. 发出异步请求/**

send 方法中发送 json 格式的字符串

*/

xhr.send('{"Index":"'+index+'","Change":"'+i+'"}');

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

附源码:{{range.PhoneDetails}}

{{.Id}}{{.Name}}{{.Price}}{{.Repertory}}

编辑

functionfunc1(x){

varcode=prompt("请输入调整的库存大小:");

if(code!=null&&code!=""){

vari=parseInt(code);

if(isNaN(i)){

alert('输入错误');

}else{

varxhr=getXmlHttpRequest();

xhr.onreadystatechange=function(){

if(xhr.readyState==4&&xhr.state==200){

alter("请求已全部执行, 并且成功");

}

}

varindex=x.rowIndex;

xhr.open("Post","/detailsU?time="+newDate().getTime());

xhr.send('{"Index":"'+index+'","Change":"'+i+'"}');

alert('修改成功');

}

}else{

alert('输入错误');

}

}

{{end}}

3. 在 beego 中处理 AJAX 的请求

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

要与传过来的 json 格式字符串对应

'{"Index":"'+index +'","Change":"' + i +'"}'

*/

typeObjectstruct{

Indexstring

Changestring

}

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)

iferr!=nil{

beego.Error(err)

return

}else{

fmt.Println(result)

}

}

来源: http://www.phperz.com/article/18/0216/362575.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值