我只是一个初级 iOS 开发人员,但我是一名全职 PHP 开发人员。我的 iOS 开发人员的应用程序通过 POST 调用我的 Web 服务,但无论出于何种原因,我的 Web 服务都没有正确接收响应。
这是他开发的 Objective-C 代码:
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:url];
NSData* requestData = [NSData dataWithBytes:[@"{\"method\":\"referrals\",
\"params\":
[{\"iv\":\"some iv value\",
\"data\":
{\"first_name\":\"pEBquIatFcWCrgEVHFhzhw==\",
\"cellular_ipv4\":\"ypMBZu80ZIeVrTpEH0daTg==\",
\"last_name\":\"353YvmRmSw9sKQ+lBrKKcg==\",
\"email\":\"tTiWcT14kuVVgmKuu7PoIw==\",
\"sent_via\":\"69JPdtxeHCAdG/cECGYg5A==\"}
}],
\"id\":\"1\"}" UTF8String] length:[reqString length]];
[request setHTTPMethod:@"POST"];
[request setValue:[NSString stringWithFormat:@"%d", [requestData length]] forHTTPHeaderField:@"Content-Length"];
[request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
[request setHTTPBody: requestData];
if (urlConnection != nil) {
[urlConnection release];
urlConnection = nil;
}
urlConnection = [[NSURLConnection alloc] initWithRequest:request delegate:self startImmediately:YES];
[request release];
据我们所知,它是通过附加到键“referrals”的 POST 发送数据。但是,当我的 PHP Web 服务检查 $_POST 变量中的 'referrals' 键时,它没有找到它。这是相关的PHP代码:
if(array_key_exists('referrals', $_POST))
{
//some code
}else
{
//error response
}
// Send JSON response
//header('Content-type: application/json');
echo $message;
iOS 应用程序始终返回错误响应,该响应仅在 $_POST中不存在 'referrals' 时设置。我已经使用 CURL 对 PHP Web 服务进行了单元测试,并始终获得成功的结果。
错误在哪里?