本人刚接一项目,需要基于嵌入式WEB 服务器GoAhead做一套控制程序,从github上下载了最新的代码。并且在Linux上编译安装完成,现在可以运行静态文件,cgi程序。但是对GoAhead里面的goforms、action这些不清楚如何入手。在网上百度了一些,也没见到比较完整的例子。其中比较好的是某篇blog上提到的内容。如下
****************************************************************************************************
建立一个form.asp,并保存到项目/web/目录下,内容如下:
<html>
<!-Copyright(c) Go Ahead software Inc.,2012-2012.All Rights Reserved.->
<head>
<title>Goahead Form Test </title>
<link rel="stylesheet" href="style/normal_ws.css" type="text/css">
</head>
<body>
<h1>Goahead Form Test 1</h1>
<form action=/goform/formTest method=POST>
<table>
<tr>
<td>Name:</td><td><input type=text name=name size=50 value=""></td>
</tr>
<tr>
<td>Addr:</td><td><input type=text name=addr size=50 value=""></td>
</tr>
<tr>
<td></td>
<td ALIGN="CENTER">
<input type=submit name=ok value="OK"> <input type=submit name=ok value="CANCEL"></td>
</tr>
</table>
</form>
</body>
</html>
****************************************************************************************************
在 goahead 中增加如下内容:
websFormDefine(T("formTest"), formtest); // 注册
static void formtest(webs_t wp, char_t *path, char_t *query) // 原型
{
char_t *name, *addr;
name = websGetVar(wp, T("name"), T(""));
addr = websGetVar(wp, T("addr"), T(""));
websHeader(wp);
websWrite(wp, T("<body><h2>Name: %s, Addr: %s</h2>\n"),name, addr);
websFooter(wp);
websDone(wp, 200);
}
****************************************************************************************************
关于**中描述的“在 goahead 中增加如下内容”,一直没搞明白,是在goahead.c中添加上述代码后再编译安装goahead,还是另外编写处理。
如果在goahead.c中添加代码,应该添加在什么位置呢?如果是另外编写程序,又改怎么处理?
烦请各路大侠指点,万分感谢!!! |