描述
定义一个可以通过Post请求访问的Web API。
获取参数方法
当通过HTTP的POST调用方法时,可以通过ServerApi的Context属性获取请求的详细信息。Context属性是Microsoft.Owin名称空间的IOwinContext类型,通过Request属性可以获取HTTP请求的全部信息。
通过Context.Request.ReadFormAsync属性可以获取通过URL传递的参数。
示例代码
下面的C#代码中,自定义Web API类 “MyAPI” ,该类包含一个post方法 “TestPostAPI”:
public class MyAPI : ForguncyApi { [Post] public void TestPostAPI() { //获取post请求的数据 var form = this.Context.Request.ReadFormAsync().Result; var name = form["name"]; var department = form["department"]; //转换数据类型为string string result = Convert.ToString(name) + Convert.ToString(department); this.Context.Response.Write(result.ToString()); //使用AddTableData方法向员工表中添加数据 this.DataAccess.AddTableData("员工表", new Dictionary<string, object> { { "姓名", name }, { "部门", department } }); } }
在前端使用以下JavaScript代码调用TestPostAPI方法,具体关于post方法请参见post方法。
//获取当前页面 var page = Forguncy.Page; //获取页面上的单元格 var cell1 = page.getCell("name"); var cell2 = page.getCell("department"); //获取单元格的值 var data = { name: cell1.getValue(), department: cell2.getValue() }; //发送请求到服务器 Forguncy.Helper.post("customapi/myapi/testpostapi", data, function () { alert("活字格"); });
说明
操作步骤 创建服务端Web API应用程序集,具体请参见
在.cs文件中输入代码。
在解决方案资源管理器中,右击解决方案,在右键菜单中选择“生成”。
在设计器中,选择“文件->设置->自定义Web Api”,单击“上传Web Api Assembly”,上传生成的dll文件。
在页面中,选择一个单元格区域,将其单元格类型设置为按钮,设置其命令为JavaScript命令,并输入JavaScript代码。
运行页面,单击提交按钮,就会弹出警告框。
关闭警告框,表格刷新后,就可以看到员工表中新增的数据。