0

私は web サービスを呼び出しており、応答で 0 バイトを取得しているだけでなく、以下のようなエラーも取得しています:

エラー ドメイン=kCFErrorDomainCFNetwork コード=303 「操作を完了できませんでした。(kCFErrorDomainCFNetwork エラー 303.)」 UserInfo=0xa9b8ef0 {NSErrorFailingURLKey= http://quantuminfoways.com/crossfit_wodgenius/webservice/sync.php , NSErrorFailingURLStringKey= http:/ /quantuminfoways.com/crossfit_wodgenius/webservice/sync.php }

そして、 サンプルリンクとしてデータを渡しています。

そして、データで私はこれを渡しています:

{
    createwod =     {
        deletedcreatewod =         (
        );
        newcreatewod =         (
        );
    };
    favorite =     {
        deletedfavorite =         (
        );
        newfavorite =         (
        );
    };
    gym =     {
        deletedgym =         (
        );
        newgym =         (
        );
    };
    workoutlog =     {
        deletedworkoutlog =         (
        );
        deletedworkoutlogtime =         (
        );
        newworkoutlog =         (
        );
    };
}

誰でもそれを解決するのを手伝ってもらえますか?

ありがとう

4

2 に答える 2

-2

303 エラーはリダイレクト エラーです。

NSURLConnection によるリダイレクトの自動処理を確認することをお勧めします: https://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/URLLoadingSystem/Articles/RequestChanges.html

手動で処理したい場合は、リダイレクト URL が応答の「Location」ヘッダーにあります。connection:didReceiveResponse デリゲート メソッドで取得する方法は次のとおりです。

- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response {
    NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse*)response;
    // ... if the response status is 303 ...
    if ([response respondsToSelector:@selector(allHeaderFields)]) {
        NSString* location = [[httpResponse allHeaderFields] valueForKey:@"Location"];
            // do whatever with the redirect url 
    }
}

また、データを含む URL を urlEncoding してみてください。次の URL を呼び出すとどうなるか試してみてください: http://quantuminfoways.com/crossfit_wodgenius/webservice/sync.php?udid=123&new=yes&uid=45&data=%20%7B%20createwod%20=%20%7B%20deletedcreatewod %20=%20(%20);%20newcreatewod%20=%20(%20);%20%7D;%20favorite%20=%20%7B%20deletedfavorite%20=%20(%20);%20newfavorite %20=%20(%20);%20%7D;%20gym%20=%20%7B%20deletedgym%20=%20(%20);%20newgym%20=%20(%20);%20 %7D;%20workoutlog%20=%20%7B%20deletedworkoutlog%20=%20(%20);%20deletedworkoutlogtime%20=%20(%20);%20newworkoutlog%20=%20(%20);%20 %7D;%20%7D

于 2013-02-02T16:11:41.490 に答える