设为首页
  网站地图
  联系我们

繁體 网通 English
香草种子
花卉种子
药材种子
蔬菜种子
草坪种子
更多分类
种子价格
栽培种植
动态 | 图片 | 邮箱 | 搜索 | 视频 | 黄页 | 图书 | 学院 | 供求 | 法规 | 地图 | 网址 | 工具 | 林木种子 | 城市 | 论坛
您目前所在的位置

首页>>网络学院>>正文

最新滚动新闻

福娃挂件
音像VCD光盘图片
种子中国祝全国人民新年快乐!
2008年适宜种植的中药材品种
黄金广告位 先到先得
注册阿里妈妈赚广告费
超级经典网页小图标
网通用户请点此处访问
在线电子万年历查询
玫瑰花种子

WAP网站(wml)开发技术


34. 有没有办法连接到电话号码?
    在某些情况下,当在显示了一连串的号码之后,需要中断功能连接到一个电话号码上并拨号。例如:执行一个 dial:12345678 就非常像 mailt 标签。
    越来越多的浏览器都支持这个功能,但还不是所有。Phone.com, Mitsubishi 和 Ericsson 已经在浏览器中集成了这个基于Wireless Telephony Interface specifications (WTAI)的功能。 WTAI将允许以下的URL将关闭连接并且拨号:
  <go href="wtai://wp/mc;+4712345678">Make a call to +47-12345678</go> 
    Nokia 7110 已经有个功能叫做“Use Number”。它可以通过WML卡片查找一个类似于电话号码的列表,然后用户可以选择进行呼叫。注意用户必须分离这些数字以便它能正常工作。
35. 使用GET或者POST方式能传送多少字符?
    使用GET或者POST方式所能传送的字符数目,不同的设备有不同的限制。一个GET通过UTL传送变量,能传送的数据总量比使用POST方式所能传送的数据要小。例如,Nokia 7110似乎对每个GET 限制在512个字节左右,但是POST最大可以达到一个编译后卡片的大小(约1300字节)。UP.SDK 4.0将GET请求限制在970左右,最大可以达到一个编译后卡片的大小。
    显然,卡片有时候保存了要发送给服务器的参数的内容,既然编译后的卡片大小有限制,那么肯定要影响到整个所能传输的数据。
    在POST和GET之间没有太多的区别。比如这个没有很好地使用GET的例子。
<input type="text" name="var1" format="*N"/>
   <p>
     <anchor>Send it
     <go href="somescript.cgi?variable=$(var1)" method="get"/>
     </anchor>
   </p>
    下面仍然是一个使用GET的请求,但是使用了<postfield>来传送参数。这个代码就漂亮多了。既然可以定义为GET,同样也很容易转成POST。
<input type="text" name="var1" format="*N"/>
   <p>
     <anchor>Send it
     <go href="somescript.cgi" method="get">
       <postfield name="variable" value="$(var1)"/>
     </go>
     </anchor>
   </p>
    直接改为POST:
<input type="text" name="var1" format="*N"/>
   <p>
     <anchor>Send it
     <go href="somescript.cgi" method="post">
       <postfield name="variable" value="$(var1)"/>
     </go>
     </anchor>
   </p>
    最好是做测试找到到底能传输多少数据。这里有个测试程序:
http://wap.colorline.no/wap-faq/apps/putsize.php3。
    这个程序也可以在下面的URL中找到:http://wap.colorline.no/demos.html。
    该程序将产生一个卡片包含一个变量,里面包含了一定数量的字符X。用户可以选择传输是使用GET还是POST。在传输之后,脚本将要显示接收到的字符个数。
    脚本生成一个页面来测试使用GET或者POST方式到底能发送多少个字符:
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"
"http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
  <head>
  <meta forua="true" http-equiv="Cache-Control" content="max-age=0"/>
  <meta forua="true" http-equiv="Cache-Control" content="must-revalidate"/>
  </head>
  <card>
  <do type="prev" label="Back">
  <go href="putsize.php3"/>
  </do>
  <p>
  <anchor>GET data
  <go method="get" href="putsize.php3">
  <postfield name=\"a\"
value="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"/>
  </go>
  </anchor>
  </p>
  </card>
</wml>
36. 如何同HTML站点一样POST/CGI,返回表单数据到服务器?
    如果使用:
        <go method="post" href="mycgi.cgi"> 
    并且使用:
        <postfield name="fieldname" value="$NameOfInputField"/> 
    就可以POST数据给CGI程序了。
37. POST无法工作是怎么回事?
    有很多说POST参数将会丢失的流言,特别是在Nokia 7110。就笔者所知,还没有哪个Nokia 7110有这样的问题。这个问题主要是存在于网关或接收方。
    测试显示Nokia SDK 2.18,当使用内建网关的时候,使用POST会出现问题。甚至当method 设置成“POST”的时候,服务器那边还是将POST请求作为 GET。
    当使用POST的URL时 ,Nokia SDK 将会崩溃。在某些情况下URL的最后的字符将被删除。
    POST Test页面将简单的POST的两个变量叫做“var1”和“var2”来显示整个变量的内容和HTTP头的内容。如果不能看到正确的变量内容,肯定有问题。检查HTTP头中的application/x-www-form-urlencoded(注意!需要在变量中输入一些内容)。
    这个方法解决了Nokia SDK 2.18的问题,可以把它配置到任意的公共网关来测试。笔者推荐使用 wapHQ 网关。
    在其他的情况下,POST确实不工作,问题可能是HTTP头在服务器端解释的时候有问题。脚本语言,例如:ASP、Java或是CGI等等都是通过查看在HTTP头中的 application/x-www-form-urlencoded 完全匹配的字符串。在某些情况下字符串可能有附加的数据,例如:charset="utf8" 。既然服务器端不是精确的匹配,它就不会查看HTTP头,因此POST就变量丢失了。
    注意这不是浏览器的问题,在HTTP头加入字符集描述,将造成脚本语言方面的错误。
    为了检测有关网关或浏览器的问题,仍使用上面的POST Test页面来测试。同样查看application/x-www-form-urlencoded 的输出,检查有没有附加的字符在结尾部分,如果有,那么这就是服务器端的问题。
    解决这个问题的方案很复杂,它随用户使用的脚本描述语言不同而不同,而且需要操作原代码。简单地说,解决方案就是需要人工读取HTTP头,不要使用脚本语言已经写好的读取方式。
    这里有一个用ASP编写的解决方法。它显示了如何在POST中抓取数据。用户需要从二进制数据中发现需要的变量。
Dim lngToalByteCount
Dim vntRequestData
  lngTotalByteCount = Request.TotalBytes
  vntRequestData = Request.BinaryRead(lngTotalByteCount)
    全部的代码,就应该像下面的代码:
<%@ Language=VBScript %>
<%
  Dim Temp, i, sPost, sWMLDeck
  'Converts the binary data to a string.
  For i = 1 To Request.TotalBytes
    Temp = Request.BinaryRead(1)
    sPost = sPost & Chr(AscB(Temp))
  Next
  'Parses out the values of the POSTED variables (in this
  'example myvar1 and myvar2).

本内容共8页,当前在第5页  1  2  3  4  5  6  7  8  

更多精彩内容请点击 更多精彩内容请点击
 
下一篇
WEB标准
上一篇
CSS完全教程

点此处与我们在线交流&或给我们留言
Copy Of Right © 2004 - 2008 Zhongzi.net, All Rights Reserved
版权所有:种子中国 运营:种子中国网络信息中心
电话:021-54081687 传真:021-51901687
Email/Msn: web@zhongzi.net
沪ICP备05000005号 公安机关网络备案许可证
支付宝信任商家
工商执照
支付宝信任商家
Seedchina,chinaseed,Seeds,flowers