极简VFPBS入门公开课程已经进行了三场了,大家学习的气氛也是极好的,甚至让我尽快开物联网的课程。我现在整理一下昨天公开课的一些资料,大家努力珍惜在社群学习的机会,这些课程都是独家的,都是从本质中剖析BS开发的实质,以后即使换成其它语言,这些本质还是一样的。
函数说明
HttpQueryParams
获取GET或POST过来的键对值的值
例:前端调用 http://ip/ctl_vfp.fsp?proc=test&name=123
后端:?HttpQuerParams("name")
便会输出123
HttpGetPostData
按原文接收POST过来的数据(JSON/BASE64/其它),根据实际情况去自己解析和处理。
例:前端调用POST http://ip/ctl_vfp.fsp?proc=test
{"name"="123"}
后端:?HttpGetPostData
便会输出 {"name"="123"}
HTML里面写代码(模板文件)
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<% =U("Hello VFP Mix ALL")%>
</body>
</html>
=号也是可以省略的。
HTML保存位置
加菲猫推荐规范:
在wwwroot目录建立TMPL(目录)子目录存放这类模板HTML
VFP后端代码,保存在controller目录ctl_brow.prg文件
Define Class ctl_brow As Session
Procedure html
cHtml=getwwwrootpath("tmpl")+"brow.html"
_currentcode="UTF-8"
Return FWS_MergeFile(cHtml)
ENDPROC
Enddefine
*tmpl即为wwwroot目录下的tmpl目录名字
打开浏览器试试呗
浏览器地址栏输入
http://192.168.0.99:801/ctl_brow.fsp?proc=html
课程答疑
问题:开发调试的时候,时而行,时而不行。会卡住。
回答:切记在编写后端VFP的程序时,改完立即保存。再来测试!如果卡住了,也没有关系,关掉调试服务器,重开即可。
另外,还有一个设置请大家勾上。
问题:set near on set exact on set ansi on
这3条语句 在调试器中未生效,如何让其生效?
回答:session类的数据环境是独立的,需要在类中设置。
问题:新手小白该去哪里VFP相关的帮助文档
回答:VFP SP2 7423安装包装完,打开开发工具,帮助菜单就有了。平常有事没事,去看看,去动手试式。
开发工具版本说明
VFP sp2 7423
BS页面开发用HbuliderX 或Hbulider工具