php $ _POST无法从ASIFormDataRequest获取信息

时间:2011-07-29 08:38:53

标签: php iphone post asihttprequest

所以在我的实现文件中,我有

NSString *post = [NSString stringWithFormat:@"json=%@",jsonString];
NSData *postData = [post dataUsingEncoding:NSUTF8StringEncoding allowLossyConversion:NO];
NSMutableData *postMutData = [[NSMutableData alloc] initWithData:postData];
ASIFormDataRequest *asi_request = [ASIFormDataRequest requestWithURL:[NSURL URLWithString:urlString]];
[asi_request setDidFinishSelector:@selector(gotMyInfo:)];
[asi_request setPostBody:postMutData];
[asi_request setDelegate:self];
[asi_request startAsynchronous];

在我的php中,我有

$json = $_POST['json'];
$info = json_decode($json);

但是我收到一个错误:未定义的索引'json' 这很奇怪,因为我用

检查帖子
$input = file_get_contents('php://input');
echo $input;

它正确地显示了json = {....}。 我知道我可以使用$ input并从那里解码json,但它似乎“丑陋”。有人知道为什么$ _POST不能用于此吗?

提前致谢

2 个答案:

答案 0 :(得分:0)

在php.ini中检查post_max_size

它是

; Maximum size of POST data that PHP will accept.
post_max_size = 8M

默认情况下。尝试将8M更改为(例如)20M

答案 1 :(得分:0)

哇我想出了问题..我使用了setPostBody:postMutData,它不会将表格数据发送到php,所以php不会用$ _POST识别它我需要做什么

[asi_request addPostValue:jsonString forKey:@"json"]; 

然后它会发送?json = {...}