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

 

 


本页地址:http://www.foxtable.com/mobilehelp/topics/0108.htm