将数组作为Post Value ASIFormDataRequest传递

时间:2012-09-17 04:56:09

标签: iphone ios ios5 ios4

我需要将数组传递给webservice.I已将产品标识符存储到nsmutablearray中。我想将此数组传递给我的php服务器。所以我有以下的事情。

__block ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url];
request.requestMethod = @"POST";
[request setPostValue:product_identifiers forKey:@"product_identifiers"];

当我NSLog我的数组时,

 (
        "com.hoiuat.test.loves.oneweek",
        "com.hoiuat.test.loves.oneweek",
        "com.hoiuat.test.loves.oneweek",
        "com.hoiuat.test.loves.oneweek",
        "com.hoiuat.test.loves.oneweek",
        "com.hoiuat.4",
        "com.hoiuat.11",
        "com.hoiuat.3",
        "com.hoiuat.8",
        "com.hoiuat.6"
    )

Php开发人员说他们无法接收参数Array。

请告诉我,我应该如何通过阵列。

1 个答案:

答案 0 :(得分:0)

这取决于Web服务需要什么,但您可以将其作为字符串分隔,如下所示:

NSString *postValue = [product_identifiers componentsJoinedByString:@"&"];
NSString *postString = [NSString stringWithFormat:@"product_identifiers=%@, postValue];

// this will generate the string:
// product_identifiers=com.hoiuat.test.loves.oneweek&com.hoiuat.test.loves.oneweek ...

然后使用它设置请求:

[request setHTTPBody:[postString dataUsingEncoding:NSUTF8StringEncoding]];