IOS 出現(xiàn)問題POST網(wǎng)絡(luò)請(qǐng)求狀態(tài)code:500的解決方法
IOS 出現(xiàn)問題POST網(wǎng)絡(luò)請(qǐng)求狀態(tài)code:500的解決方法
前言:
iOS 10 用 [NSURLSession uploadTaskWithRequest:request fromData:jsondata completionHandler:^(NSData * _Nullable data, NSURLResponse * _Nullable response, NSError * _Nullable error){}];
進(jìn)行post網(wǎng)絡(luò)請(qǐng)求時(shí) 出現(xiàn) 500 錯(cuò)誤
出現(xiàn)500 的錯(cuò)誤 服務(wù)器遇到了一個(gè)未曾預(yù)料的狀況,導(dǎo)致了它無法完成對(duì)請(qǐng)求的處理。一般來說,這個(gè)問題都會(huì)在服務(wù)器的程序碼出錯(cuò)時(shí)出現(xiàn)。IOS HTTP請(qǐng)求的常見狀態(tài)碼總結(jié)
雖然出現(xiàn)這種原因是服務(wù)器的錯(cuò)誤,我覺得服務(wù)器解析請(qǐng)求數(shù)據(jù)也有可能出現(xiàn)這個(gè)錯(cuò)誤狀態(tài)500,所以我從客服端入手。
打印返回時(shí)的 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請(qǐng)求是需要設(shè)置請(qǐng)求頭數(shù)據(jù)類型,以上出錯(cuò)的請(qǐng)求我是這樣設(shè)置的
[request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];
這個(gè)設(shè)置方法是我從提交圖片的網(wǎng)絡(luò)請(qǐng)求方法拷貝過來的,即@"application/x-www-form-urlencoded"這個(gè)類型是提交圖片的類型設(shè)置(提交圖片時(shí)把提交圖片參數(shù)轉(zhuǎn)成NSData然后再轉(zhuǎn)成base64的NSData提交)。而我的本次請(qǐng)求是提交json字符串的NSData類型。所以"Content-Type"的值設(shè)置成”application/json“即可。詳解Http請(qǐng)求中Content-Type講解以及在Spring MVC中的應(yīng)用
我的解決方法是重新設(shè)置 如下:
[request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
請(qǐng)求 response 大家可以和上面的做對(duì)比。
<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 錯(cuò)誤的問題。出現(xiàn)這個(gè)錯(cuò)誤也有可能后臺(tái)對(duì)數(shù)據(jù)的處理錯(cuò)誤,或者后臺(tái)返回的數(shù)據(jù)類型和前端設(shè)置需要返回的類型沖突等。還是得具體問題具體分析
感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
- iOS利用AVPlayer播放網(wǎng)絡(luò)音樂的方法教程
- 詳解iOS中多個(gè)網(wǎng)絡(luò)請(qǐng)求的同步問題總結(jié)
- Vue.js教程之a(chǎn)xios與網(wǎng)絡(luò)傳輸?shù)膶W(xué)習(xí)實(shí)踐
- iOS中設(shè)置網(wǎng)絡(luò)超時(shí)時(shí)間+模擬的方法詳解
- IOS開發(fā)中異步網(wǎng)絡(luò)請(qǐng)求上實(shí)現(xiàn)同步邏輯
- iOS socket網(wǎng)絡(luò)編程實(shí)例詳解
- iOS判斷網(wǎng)絡(luò)請(qǐng)求超時(shí)的方法
- IOS 網(wǎng)絡(luò)請(qǐng)求中設(shè)置cookie
相關(guān)文章
IOS設(shè)計(jì)模式之組合設(shè)計(jì)模式
組合模式,Composite Pattern,是一個(gè)非常巧妙的模式。幾乎所有的面向?qū)ο笙到y(tǒng)都應(yīng)用到了組合模式,接下來通過本文給大家介紹IOS設(shè)計(jì)模式之組合設(shè)計(jì)模式,需要的朋友參考下2016-02-02
iOS開發(fā)實(shí)現(xiàn)HTTPS之cer文件的使用詳解
下面小編就為大家分享一篇iOS開發(fā)實(shí)現(xiàn)HTTPS之cer文件的使用詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-01-01
iOS 監(jiān)聽回調(diào)機(jī)制KVO實(shí)例
下面小編就為大家分享一篇iOS 監(jiān)聽回調(diào)機(jī)制KVO實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-01-01

