sendAjaxText
Foxtable为WeUI扩展了一个名为"sendAjaxText"的函数,用于向服务器发送纯文本数据,语法:
sendAjaxText(data,url,func,asyn)
data | 要发送的文本数据, |
url | 接收数据的目标网页。 |
func | 回调函数名,收到服务器返回信息后,会调用此函数进行处理。 |
asyn | 逻辑型,可选参数,是否异步执行,默认为true,如果要同步执行,请设置为false。 注意是true和false,不是True和False。 |
例如:
sendAjaxText("getUser","accept.htm","afterGetUser")
表示将字符串"getUser"异步发送到页面accept.htm,由afterGetUser函数负责处理接收到的数据。
当asyn参数为False,也可以不指定func参数,此时sendAjaxText函数将返回一个值,此值就是服务器返回的数据,例如:
var result = sendAjaxText("getUser","accept.htm","",false)
表示将字符串"getUser"同步发送到页面accept.htm,将返回值保存在变量result中。
提示:
HttpRequest的e参数PlainText,用于返回接收到的文本数据。
一个例子
这个例子用于演示了如何向服务器发送文本命令,服务器根据收到的文本命令,返回相应的JSON数据或文本数据:
设计步骤
1、在"d:\web"目录下,建立一个子目录lib,在这个目录建立一个文本文件,文件名为"ajaxform.js",文件内容为:
function getDate(){
var result = sendAjaxText("getDate","accept.htm","",false);
document.getElementById("p1").innerHTML="今天日期:<br/>"
+ result;
}
function getUser(){
var result = sendAjaxText("getUser","accept.htm","",false);
var user=JSON.parse(result);
result="姓名:"
+ user.name + "<br/>" + "年龄:" +
user.age
document.getElementById("p1").innerHTML=result;
}
2、HttpRequest事件代码:
Select Case
e.Path
Case
"test.htm"
Dim wb
As New
weui
wb.AddForm("","form1","test.htm")
With wb.AddButtonGroup("form1","btg1",True)
'垂直排列
.Add("btn1",
"getUser","button").Attribute="onclick='getUser()'"
.Add("btn2",
"getDate","button").Attribute="onclick='getDate()'"
End With
wb.AppendHTML("<div
id='p1' style='margin:0.5em'></div>")
'插入一个div,用于显示服务器返回的数据
wb.AppendHTML("<script
src='./lib/ajaxform.js'></script>") '引入脚本文件
e.WriteString(wb.Build)
'生成网页
Case "accept.htm"
Select
e.PlainText
Case
"getUser" '发送jason数据
Dim
v As
String =
"{""name"":""李云龙"" , ""age"":""38""}"
e.WriteString(v)
Case "getDate"
'发送纯文本
e.Writestring(CUDate(Date.Today))
End
Select
End
Select