我有一个问题:
我需要使用json向php发布帖子,但它只响应数据类型x-www-form-urlencoded,我使用了google chrome的 postman ,而不是form-data完成,我用这种方式但告诉我参数不正确,我需要帮助:
NSString *jsonRequest = [NSString stringWithFormat:@"j_username=%@&j_password=%@",nombre,pass];
NSURL *url = [NSURL URLWithString:urlhttp];
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:url];
NSData *requestData = [NSData dataWithBytes:[jsonRequest UTF8String] length:[jsonRequest length]];
[request setHTTPMethod:@"POST"];
[request setValue:@"application/json" forHTTPHeaderField:@"Accept"];
[request setValue:[NSString stringWithFormat:@"%d", [requestData length]] forHTTPHeaderField:@"Content-Length"];
[request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];
[request setHTTPBody: requestData];
[NSURLConnection connectionWithRequest:request delegate:self];
最佳答案
对于初学者:
- 您的字符串与 JSON 无关。这只是一个普通的字符串
- 您的用户名和密码必须经过 URL 编码
[NSData dataWithBytes:[jsonRequest UTF8String] length:[jsonRequest length]]
错误。您必须使用[NSData dataWithBytes:[jsonRequest UTF8String] length:[[jsonRequest UTF8String] length]]
关于ios - 来自 json 错误的数据类型 application/x-www-form-urlencoded,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18488160/