从iPhone发送POST请求到Heroku上托管的rails应用程序

时间:2014-01-09 17:55:17

标签: ruby-on-rails post ios7 http-post

我正在尝试从iPhone应用程序发送一些POST数据:

NSString* serverUrl = @"xxx";

NSString* beaconIDPOST = beaconID;
NSString* deviceTokenPOST = finalDeviceToken;

NSString *post = [NSString stringWithFormat:@"&beaconID=%@deviceID=%@clientID=%@",
                  beaconIDPOST,deviceTokenPOST,@"0"];

NSData *postData = [post dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES];
NSString *postLength = [NSString stringWithFormat:@"%lu", (unsigned long)[postData length]];


NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];
[request setURL:[NSURL URLWithString:serverUrl]];
[request setHTTPMethod:@"POST"];
[request setValue:postLength forHTTPHeaderField:@"Content-Length"];
[request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];

[request setHTTPBody:postData];

但我的rails应用程序总是返回HTTP状态代码422,所以我猜我的POST请求的格式是不正确的。

我也尝试过这个卷曲请求:

curl -d "&deviceID=xxx&beaconID=3&clientID=0" http://xxx

结果相同。

我检查了我的路线和网址,一切都很好。有任何想法如何解决这个错误?

感谢您的帮助:D

0 个答案:

没有答案