IOS 出現(xiàn)問題POST網(wǎng)絡請求狀態(tài)code:500的解決方法
IOS 出現(xiàn)問題POST網(wǎng)絡請求狀態(tài)code:500的解決方法
前言:
iOS 10 用 [NSURLSession uploadTaskWithRequest:request fromData:jsondata completionHandler:^(NSData * _Nullable data, NSURLResponse * _Nullable response, NSError * _Nullable error){}];
進行post網(wǎng)絡請求時 出現(xiàn) 500 錯誤
出現(xiàn)500 的錯誤 服務器遇到了一個未曾預料的狀況,導致了它無法完成對請求的處理。一般來說,這個問題都會在服務器的程序碼出錯時出現(xiàn)。IOS HTTP請求的常見狀態(tài)碼總結
雖然出現(xiàn)這種原因是服務器的錯誤,我覺得服務器解析請求數(shù)據(jù)也有可能出現(xiàn)這個錯誤狀態(tài)500,所以我從客服端入手。
打印返回時的 response 里面的值為
:<NSHTTPURLResponse: 0x17003a900> { URL: 你的url地址 } { status code: 500, headers { "Cache-Control" = private "Content-Length" = 3306; "Content-Type" = "text/html; charset=utf-8"; Date = "Sun, 09 Oct 2016 07:45:13 GMT"; Server = "Microsoft-IIS/7.5"; "X-AspNet-Version" = "4.0.30319"; "X-Powered-By" = "ASP.NET"; } }
從中我們可以看到,返回類型不是json而是text/html類型
我們知道,在post請求是需要設置請求頭數(shù)據(jù)類型,以上出錯的請求我是這樣設置的
[request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];
這個設置方法是我從提交圖片的網(wǎng)絡請求方法拷貝過來的,即@"application/x-www-form-urlencoded"這個類型是提交圖片的類型設置(提交圖片時把提交圖片參數(shù)轉成NSData然后再轉成base64的NSData提交)。而我的本次請求是提交json字符串的NSData類型。所以"Content-Type"的值設置成”application/json“即可。詳解Http請求中Content-Type講解以及在Spring MVC中的應用
我的解決方法是重新設置 如下:
[request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
請求 response 大家可以和上面的做對比。
<NSHTTPURLResponse: 0x17403fe60> { URL: 你的url地址 } { status code: 200, headers { "Cache-Control" = private; "Content-Length" = 75; "Content-Type" = "application/json; charset=utf-8"; Date = "Sun, 09 Oct 2016 07:56:16 GMT"; Server = "Microsoft-IIS/7.5"; "X-AspNet-Version" = "4.0.30319"; "X-AspNetMvc-Version" = "4.0"; "X-Powered-By" = "ASP.NET"; } }
現(xiàn)在的 status code: 200, 解決了 500 錯誤的問題。出現(xiàn)這個錯誤也有可能后臺對數(shù)據(jù)的處理錯誤,或者后臺返回的數(shù)據(jù)類型和前端設置需要返回的類型沖突等。還是得具體問題具體分析
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
相關文章
iOS開發(fā)中用imageIO漸進加載圖片及獲取exif的方法
這篇文章主要介紹了iOS開發(fā)中中用imageIO漸進加載圖片及獲取exif的方法,代碼演示為傳統(tǒng)的Objective-C,需要的朋友可以參考下2015-09-09iOS中UIImagePickerController圖片選取器的用法小結
UIImagePickerController平時就是用來做應用中從相冊中選取圖片功能的,這里我們就來整理一下iOS中UIImagePickerController圖片選取器的用法小結,需要的朋友可以參考下2016-05-05iOS優(yōu)化UITableViewCell高度計算的一些事兒
這iOS開發(fā)中對于UITableViewCell高度自適應的文章已經(jīng)很多很多,但都不是自己所需要的,下面篇文章主要給大家介紹了關于iOS優(yōu)化UITableViewCell高度計算的相關資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下2018-11-11