区分 GCDWebServer 中的表单操作?
Posted
技术标签:
【中文标题】区分 GCDWebServer 中的表单操作?【英文标题】:Differentiate form actions in GCDWebServer? 【发布时间】:2015-04-05 20:51:57 【问题描述】:我在通过 GCDWebServer 托管的 html 页面上使用两种表单。我有这样的第一个表单设置......
<form name=\"vendorInput\" method=\"post\" enctype=\"application/x-www-form-urlencoded\">
<input type=submit value='Add Vendor' action=\"/\">
第二个表单设置是这样的......
<form name=\"vendorInput\" method=\"post\" enctype=\"application/x-www-form-urlencoded\">
<input type=submit value='Add Item' action=\"/\">
我找不到任何对此提供支持的文档;并且我键入的除/
之外的任何操作字符串都会导致 HTML 请求中断。 有没有办法为 GCDWebServer 中的表单提交按钮解析不同的操作?
【问题讨论】:
【参考方案1】:您只需为每个表单设置不同的路径,然后为每个路径实现一个 GCDWebServer 处理程序:
[webServer addHandlerForMethod:@"POST"
path:@"/path1"
requestClass:[GCDWebServerURLEncodedFormRequest class]
processBlock:^GCDWebServerResponse *(GCDWebServerRequest* request)
// Do something with form data i.e. [[(GCDWebServerURLEncodedFormRequest*)request arguments]
return [GCDWebServerDataResponse responseWithHTML:@"<html><body>OK</body></html>"];
];
[webServer addHandlerForMethod:@"POST"
path:@"/path2"
requestClass:[GCDWebServerURLEncodedFormRequest class]
processBlock:^GCDWebServerResponse *(GCDWebServerRequest* request)
// Do something with form data i.e. [[(GCDWebServerURLEncodedFormRequest*)request arguments]
return [GCDWebServerDataResponse responseWithHTML:@"<html><body>OK</body></html>"];
];
有关示例,请参阅 https://github.com/swisspol/GCDWebServer#advanced-example-2-implementing-forms。
【讨论】:
以上是关于区分 GCDWebServer 中的表单操作?的主要内容,如果未能解决你的问题,请参考以下文章