我一直在尝试通过 php 页面将 JSON 数据从 iOS 应用程序发送到 mySQL 数据库。出于某种原因,我的 POST 数据在 php 页面中不可用。
- (IBAction)jsonSet:(id)sender {
NSDictionary *dict = [NSDictionary dictionaryWithObjectsAndKeys:@"firstvalue", @"firstkey", @"secondvalue", @"secondkey", nil];
NSData *result =[NSJSONSerialization dataWithJSONObject:dict options:0 error:&error];
NSURL *url = [NSURL URLWithString:@"http://shred444.com/testpost.php"];
[request setHTTPMethod:@"POST"];
[request setValue:@"application/json" forHTTPHeaderField:@"Accept"];
[request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
[request setValue:[NSString stringWithFormat:@"%d", jsonRequestData.length] forHTTPHeaderField:@"Content-Length"];
[request setHTTPBody:jsonRequestData];
NSURLResponse *response = nil;
NSError *error = nil;
NSData *result = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];
我知道 php 页面被调用,并确认写入数据库,
我的 php 文件中的前几行获取 POST 数据
<?php
// Put parameters into local variables
$email = $_POST["firstkey"];
...
但由于某种原因,$email 也是一个空字符串。我感觉问题出在 iOS 代码中,因为我可以使用 APIkitchen.com 来测试我的页面并且我可以确认它有效(仅当我排除 Content-type 和 Content-Length 字段时)