最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

IOS  AFNetworking的Post失敗及requestSerializer的正確使用

 更新時(shí)間:2017年05月16日 11:47:06   作者:W_C__L  
這篇文章主要介紹了IOS AFNetworking的Post失敗及requestSerializer的正確使用的相關(guān)資料,需要的朋友可以參考下

IOS  AFNetworking的Post失敗及requestSerializer的正確使用

前言:

最近接手一個(gè)項(xiàng)目,因?yàn)橹暗捻?xiàng)目里面POST請求用的是ASI的,我就想著給替換成AFNetworking,但是在替換過程中遇到了一個(gè)大坑,解決了半天才發(fā)現(xiàn)是一個(gè)小問題,下面將我的問題給大家分享一下:

錯(cuò)誤描述和發(fā)現(xiàn)過程

Error Domain=NSCocoaErrorDomain Code=3840 "JSON text did not start with array or object and option to allow fragments not set."

看了錯(cuò)誤描述后,根據(jù)它的描述是因?yàn)榉祷氐膉son數(shù)據(jù)格式不對,不是json的,我就去修改AFNetworking的responseSerializer返回的序列化器,發(fā)現(xiàn)怎么改怎么不對,各種嘗試無果之后,我打印了一下元數(shù)據(jù),發(fā)現(xiàn)返回的居然是Html格式的消息,消息內(nèi)容大概是服務(wù)器請求失敗了,好吧,搞了半天是我請求錯(cuò)誤了。我驗(yàn)證半天發(fā)現(xiàn)參數(shù)沒什么問題啊,于是我就打印了一下用ASI請求body的數(shù)據(jù)發(fā)現(xiàn)是這樣子的:mid=10&method=userInfo&dateInt=20160818,我再打印了一下我用AFNetworking拼接成的body的數(shù)據(jù)格式居然是這樣子的{"mid":"11","method":"userInfo","dateInt":"20160818"},好吧,現(xiàn)在我知道是哪里有問題了,因?yàn)橹皞鞯膮?shù)都是json格式的所以沒問題,誰知道這個(gè)服務(wù)器接受的數(shù)據(jù)不是json格式的,所以請求失敗了。那我就需要修改AFNetworking的requestSerializer了。

requestSerializer

關(guān)于 requestSerializer它就是AFNetworking參數(shù)編碼的序列化器,它一共有三種編碼格式:

  1. AFHTTPRequestSerializer:第一種是普通的http的編碼格式也就是mid=10&method=userInfo&dateInt=20160818,這種格式的。
  2. AFJSONRequestSerializer:第二種也是json編碼格式的,也就是編碼成{"mid":"11","method":"userInfo","dateInt":"20160818"}
  3. AFPropertyListRequestSerializer:第三種沒用過,但是看介紹接編碼成pislt格式的參數(shù)

看了上面的介紹應(yīng)該能明白到底該如何修改了,下面貼上我的修改過程。

解決辦法

修改前:

_sharedCBClient = [[AFAppCBNetAPIClient alloc] initWithBaseURL:baseURL];
    //拼接參數(shù)的序列化器,使用的錯(cuò)誤的序列化器
    _sharedCBClient.requestSerializer = [AFJSONRequestSerializer serializer];
    //返回?cái)?shù)據(jù)的序列化器
    _sharedCBClient.responseSerializer = [AFJSONResponseSerializer serializer];

修改后:

_sharedCBClient = [[AFAppCBNetAPIClient alloc] initWithBaseURL:baseURL];
    //拼接參數(shù)的序列化器,使用的正確的序列化器
    _sharedCBClient.requestSerializer = [AFHTTPRequestSerializer serializer];
    //返回?cái)?shù)據(jù)的序列化器
    _sharedCBClient.responseSerializer = [AFJSONResponseSerializer serializer];
_sharedCBClient = [[AFAppCBNetAPIClient alloc] initWithBaseURL:baseURL];
    //拼接參數(shù)的序列化器,使用的正確的序列化器
    _sharedCBClient.requestSerializer = [AFHTTPRequestSerializer serializer];
    //返回?cái)?shù)據(jù)的序列化器
    _sharedCBClient.responseSerializer = [AFJSONResponseSerializer serializer];

到這里我的問題也就解決了,一個(gè)小小的問題困擾了很久真是不應(yīng)該,以后應(yīng)該多跟后臺(tái)溝通溝通,要不出錯(cuò)了也不知道錯(cuò)在哪里,

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

相關(guān)文章

  • 如何在IOS中使用IBeacon

    如何在IOS中使用IBeacon

    這篇文章主要介紹了如何在IOS中使用IBeacon,想了解IBeacon的同學(xué),一定要看一下
    2021-04-04
  • iOS11適配工作及導(dǎo)航欄影藏返回文字的解決方法

    iOS11適配工作及導(dǎo)航欄影藏返回文字的解決方法

    這篇文章主要介紹了iOS11適配工作及導(dǎo)航欄影藏返回文字的解決方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-10-10
  • Mac OSX 打開原生自帶讀寫NTFS功能(圖文)

    Mac OSX 打開原生自帶讀寫NTFS功能(圖文)

    這篇文章主要介紹了Mac OSX 打開原生自帶讀寫NTFS功能(圖文),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11
  • ios通過按鈕點(diǎn)擊異步加載圖片

    ios通過按鈕點(diǎn)擊異步加載圖片

    本文給大家匯總了幾種IOS中實(shí)現(xiàn)異步加載圖片的方法,十分的簡單實(shí)用,有需要的小伙伴可以參考下。
    2015-05-05
  • safari cookie設(shè)置中文失敗的解決方法

    safari cookie設(shè)置中文失敗的解決方法

    下面小編就為大家?guī)硪黄猻afari cookie設(shè)置中文失敗的解決方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2016-08-08
  • iOS體驗(yàn)性優(yōu)化之RTL適配右滑返回的實(shí)現(xiàn)

    iOS體驗(yàn)性優(yōu)化之RTL適配右滑返回的實(shí)現(xiàn)

    這篇文章主要給大家介紹了關(guān)于iOS體驗(yàn)性優(yōu)化之RTL適配右滑返回實(shí)現(xiàn)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2018-01-01
  • IOS設(shè)置UIView的邊框?yàn)閳A角詳解及實(shí)例

    IOS設(shè)置UIView的邊框?yàn)閳A角詳解及實(shí)例

    這篇文章主要介紹了IOS設(shè)置UIView的邊框?yàn)閳A角的相關(guān)資料,需要的朋友可以參考下
    2017-03-03
  • iOS開發(fā)微信收款到賬語音提醒功能思路詳解

    iOS開發(fā)微信收款到賬語音提醒功能思路詳解

    這篇文章主要介紹了iOS開發(fā)微信收款到賬語音提醒功能思路詳解,需要的朋友可以參考下
    2017-09-09
  • 詳解在iOS11下app圖標(biāo)變空白的問題解決方法

    詳解在iOS11下app圖標(biāo)變空白的問題解決方法

    本篇文章主要介紹了詳解在iOS11下app圖標(biāo)變空白的問題解決方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-12-12
  • iOS實(shí)現(xiàn)圖片水印與簡單封裝示例代碼

    iOS實(shí)現(xiàn)圖片水印與簡單封裝示例代碼

    這篇文章主要給大家介紹了關(guān)于iOS實(shí)現(xiàn)圖片水印與簡單封裝的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-01-01

最新評論

阜城县| 临城县| 台前县| 民权县| 固镇县| 鹤峰县| 武隆县| 德昌县| 焦作市| 清苑县| 财经| 兴文县| 福鼎市| 马关县| 南宫市| 镇平县| 普兰店市| 静乐县| 梁平县| 浑源县| 中牟县| 道孚县| 阿瓦提县| 潼关县| 金塔县| 集贤县| 桓台县| 武山县| 沁阳市| 仁化县| 虞城县| 邹平县| 望江县| 平江县| 辉县市| 义乌市| 项城市| 祁门县| 红桥区| 普兰县| 定日县|