0

我正在向POSTphp API 发送请求,该请求包含NSDictionary两个键/值:

NSDictionary *parameters = [[NSDictionary alloc]initWithObjectsAndKeys:amounts,@"amounts",[NSNumber numberWithInt:cId],@"user_id", nil];//Amount is an NSMutableArray

[[APIClient sharedInstance] postPath:[NSString stringWithFormat:@"%@register.php",prefixURL] parameters:parameters success:^(AFHTTPRequestOperation *operation, id responseObject) {
    NSString *text = [[NSString alloc] initWithData:responseObject encoding:NSUTF8StringEncoding];

    NSLog(@"Response: %@", text);//the response is valid
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {

    NSLog(@"Failure: %@",error.userInfo);
}];

但是,问题是我找不到在 PHP 端检索参数(金额和 user_id)的方法。我不是一个 PHP 人,所以会很感激这方面的任何帮助。

4

2 回答 2

1

由于您使用的是 AFNetworking,因此您的parameters字典中的键和值将被放入请求本身。当您调用 时postPath,它会向服务器发送一个 POST 请求。$_POST['amounts']因此,您可以简单地使用和读取值$_POST['user_id']

于 2013-10-23T16:46:39.180 回答
0

与其发送 NSDictionary,不如先将其序列化为 JSON,然后再发送 JSON。

就像是:

    NSError *jsonError = nil;
    NSData* jsonData = [NSJSONSerialization dataWithJSONObject:myDictionary
                                                       options:0
                                                         error:&jsonError];
    NSString *jsonString = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];

    [request setValue:jsonString forHTTPHeaderField:@"json"];
    [request setHTTPBody:jsonData];
于 2013-10-23T16:36:28.800 回答