我有以下JSON用于在服务器上发送请求
{
"name":"Home",
"latitude":"45.5037078163837",
"longitude":"-122.622699737549",
"radius":"240"
}
和请求的URL是
URL: https://api.geoloqi.com/1/place/create
我正在提出这样的请求,
NSString *urlString= @"https://api.geoloqi.com/1/place/create ";
NSURL* url = [[NSURL alloc] initWithString:urlString];
NSString *jsonRequest = @"{\"name\":\"veer\",\"latitude\":\"45.5037078163837\",\"longitude\":\"-122.622699737549\,\"radius\":\"500\ }";
jsonRequest = [self JSONString:jsonRequest];
NSData* requestData = [jsonRequest dataUsingEncoding:NSUTF8StringEncoding];
NSString* requestDataLengthString = [[NSString alloc] initWithFormat:@"%d", [requestData length]];
NSMutableURLRequest* request = [[NSMutableURLRequest alloc] initWithURL:url];
[request setHTTPMethod:@"POST"];
[request setHTTPBody:requestData];
[request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
[request setValue:requestDataLengthString forHTTPHeaderField:@"Content-Length"];
[request setTimeoutInterval:30.0];
[url release];
[requestData release];
[requestDataLengthString release];
NSURLConnection *m_URLConnection = [[NSURLConnection alloc] initWithRequest:request delegate:self];
[request release];
此请求有什么问题?
答案 0 :(得分:3)
您的JSON字符串似乎在经度和半径值后缺少2个引号:
更改强>
NSString *jsonRequest = @"{\"name\":\"veer\",\"latitude\":\"45.5037078163837\",\"longitude\":\"-122.622699737549\,\"radius\":\"500\ }";
到此
NSString *jsonRequest = @"{\"name\":\"veer\",\"latitude\":\"45.5037078163837\",\"longitude\":\"-122.622699737549\",\"radius\":\"500\" }";
答案 1 :(得分:0)
从您的问题中不清楚您的问题是什么。
无论如何,你还在做什么:
[m_URLConnection start];
创建连接后?
或者,您可以使用
创建连接 [– initWithRequest:delegate:startImmediately:][1]
允许您指定数据加载应立即开始。
另外,请考虑使用[+sendAsynchronousRequest:queue:completionHandler:][2]
作为连接的便利构造函数。
答案 2 :(得分:0)
您尝试访问的Web服务URL似乎使用SSL。您可能需要将访问令牌放入请求标头中,以便从Web服务获得正确的响应。
请参阅身份验证链接: https://developers.geoloqi.com/api/authentication