【问题标题】:Send Form Name in POST parameters in iOS在 iOS 的 POST 参数中发送表单名称
【发布时间】:2017-09-20 04:53:33
【问题描述】:

我也想在 post 参数中发送表单名称, html 例如:

<form id='form1' name='ecom' action='abc.com' method='POST'>`
<input Parameters .... /> </form>

我正在使用的当前方法:

    NSData *postData = [post dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES];     
    NSString *postLength = [NSString stringWithFormat:@"%lu",(unsigned long)[postData length]];
    NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];
    [request setURL:[NSURL URLWithString:baseUrl]];   
    [request setHTTPMethod:@"POST"];
    [request setValue:postLength forHTTPHeaderField:@"Content-Length"];
    [request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Current-Type"];
    [request setHTTPBody:postData];

这里可以很好地发布参数,但我还需要发送表单名称。

【问题讨论】:

  • 如果为表单名称添加另一个标题字段会怎样
  • 你能给我举个例子吗?

标签: html ios objective-c afnetworking


【解决方案1】:

我认为您可以在帖子正文中发送类似这样的名称

NSString *post = @"formName=<name>"; // add any other parameters you want
NSData *postData = [post dataUsingEncoding:NSUTF8StringEncoding];
[request postData]

;

【讨论】:

  • 这是您的意思吗? NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init]; NSString *postForm = @"formName='ecom'"; NSData *postFormData = [发布 dataUsingEncoding:NSUTF8StringEncoding]; [请求 setHTTPBody:postFormData];我怀疑 [request setHTTPBody:postFormData] 这行得通吗?
  • 是的,和你已经做的一样,或者你可以通过 httpHeaderField 发送它,就像你发送 Current-Type 一样
【解决方案2】:

您可以在请求标头中发送表单名称

[request setValue:@"yourformname" forHTTPHeaderField:@"form-name"];

希望对您有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-12
    • 2011-11-29
    • 2022-01-04
    • 2014-09-24
    • 2020-10-20
    相关资源
    最近更新 更多