0

我在通过 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 中表单提交按钮的不同操作?

4

1 回答 1

0

您只需要为每个表单设置不同的路径,然后为每个路径实现一个 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 。

于 2015-08-02T19:51:39.533 回答