ios - 来自 json 错误的数据类型 application/x-www-form-urlencoded

标签 ios objective-c json

我有一个问题:

我需要使用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];

最佳答案

对于初学者:

  1. 您的字符串与 JSON 无关。这只是一个普通的字符串
  2. 您的用户名和密码必须经过 URL 编码
  3. [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/

相关文章:

ios - if 语句 (CGAffineTransform) 不起作用

ios - 如何到达发件人的父 View ?

iphone - iPhone 中 NSMutableArray 的排序

javascript - 如何动态删除嵌套的json键?

ios - 快速内存泄漏

ios - 快速函数

ios - 尽管匹配宽度/高度限制,但启动屏幕 Storyboard 中的图像不可见

Java:将键值对附加到嵌套的json对象

json - 根据给定的 OpenApi/Swagger 规范验证请求有效负载和响应

iphone - Sharekit:在发布到 Facebook 时修改了 url?