0

私は with Json Delete メソッドを持っています。私はインターネットをサーフィンしましたが、何も得られませんでした。

Json Delete Method で試したコードは次のとおりです。「Json値が失敗しました」を返すだけです

NSString *posturl=[NSString stringWithFormat:@"%@/spottings/%@/media/%@.json?auth_token=%@",_BASE_API_URL,[_spotting_id_array objectAtIndex:button.tag],[_ex_media_id_array objectAtIndex:button.tag],_ex_auth_token_str];

NSLog(@"posturl:%@",posturl);
// Prepare string request

NSURL *url=[NSURL URLWithString:[NSString stringWithFormat:@"%@",posturl]];

// Prepare URL request

NSMutableURLRequest *request =[[[NSMutableURLRequest alloc] init] autorelease];

NSOperationQueue *queue = [[NSOperationQueue alloc] init];

// Set the URL to request

[request setURL:url];

// Set the URL method

[request setHTTPMethod:@"DELETE"];

[request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];

[NSURLConnection sendAsynchronousRequest:request queue:queue completionHandler:^(NSURLResponse *response, NSData *urlData, NSError *error){

    if ([urlData length] >0 && error == nil)
    {
        // Get JSON as a NSString from NSData response

        NSString *data=[[NSString alloc]initWithData:urlData encoding:NSUTF8StringEncoding];

        // parse the JSON response into an object

        // Here we're using NSArray since we're parsing an array of JSON status objects

        _results = [data JSONValue];

        NSLog(@"_results:%@",_results);

    }
    else if ([urlData length] == 0 && error == nil)
    {
        NSLog(@"Nothing was downloaded.");
    }
    else if (error != nil){
        NSLog(@"Error = %@", error);
    }
}];

エラーコード :

-JSONValue が失敗しました。エラー トレース: ( "Error Domain=org.brautaset.JSON.ErrorDomain Code=10 \"Garbage after JSON\" UserInfo=0x8195240 {NSLocalizedDescription=Garbage after JSON}"

4

1 に答える 1

2

通常、リクエストの本文にもデータを含めないでください。DELETEのようなものGETで、サーバーに送信される単なるコマンドです。Content-Type一緒に送信されるヘッダーがあってはなりません。それを取り除いてみてください。また、 の内容を印刷してNSString *data確認してみてください。

于 2012-12-14T18:58:16.860 に答える