0

サーバーでリクエストを送信するための次の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];

このリクエストの何が問題になっていますか?

4

3 に答える 3

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\" }";

于 2011-11-23T09:21:29.680 に答える
0

あなたの質問から、それに関するあなたの問題は何であるかは明らかではありません。

とにかく、あなたもやっていますか:

[m_URLConnection start];

接続を作成した後?

または、を使用して接続を作成することもできます

[– initWithRequest:delegate:startImmediately:][1]

これにより、データのロードをすぐに開始するように指定できます。

[+sendAsynchronousRequest:queue:completionHandler:][2]また、接続の便利なコンストラクターとして使用することも検討してください。

于 2011-11-23T09:19:22.247 に答える