2013-02-02 101 views
0

我是電話網絡服務,我響應變得0字節,以及獲得錯誤象下面這樣:IOS SDK - 錯誤調用Web服務

錯誤域= kCFErrorDomainCFNetwork代碼= 303「的操作不能完成(kCFErrorDomainCFNetwork誤差303)」的UserInfo = 0xa9b8ef0 {NSErrorFailingURLKey = http://quantuminfoways.com/crossfit_wodgenius/webservice/sync.php,NSErrorFailingURLStringKey = http://quantuminfoways.com/crossfit_wodgenius/webservice/sync.php}

,我傳遞數據如下面如下 樣品鏈接: http://quantuminfoways.com/crossfit_wodgenius/webservice/sync.php?udid=123&new=yes&uid=45&data= {} 而在數據我傳遞這個: { c reatewod = { deletedcreatewod =( ); newcreatewod =( ); }; favorite = { deletedfavorite =( ); newfavorite =( ); }; gym = { deletegym =( ); newgym =( ); }; ( ); deletedworkoutlogtime =( ); newworkoutlog =( ); }; }

任何人都可以幫我解決它。

謝謝

回答

-2

303錯誤是重定向錯誤。

你可能想看看重定向的自動處理與NSURLConnection的: https://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/URLLoadingSystem/Articles/RequestChanges.html

如果你想手動處理它,重定向URL是響應的「位置」標頭。以下是如何在連接中獲取它的方法: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 
    } 
} 

您還可以嘗試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

+0

OP得到類型爲「kCFErrorDomainCFNetwork」的錯誤,該錯誤與HTT狀態碼不同。錯誤303是一個'kCFErrorHTTPParseFailure',這意味着客戶端無法正確處理結果。 – SAE

+0

我在瀏覽器中得到正確的結果。但不是在移動。 – Hindu

0

當您將POST方法調用爲GET時,出現錯誤「kcferrordomaincfnetwork error 303」的原因之一。