RN网络请求踩坑日记(NSURL和NSString的Encode问题)

      背景是这样的:一个Get网络请求的数据接口,本来通过fetch已经ok了,但是领导要求网络请求放在原生去做,好吧,所我就想把url直接发到原生页面.



    然后把这个str当作URL放在ios中AFN的URL里就好了

结果,坑爹的事发生了,他说我的url非法,我当即想到的可能是encode问题,可是为啥同一个url fetch可以但是AFN就不可以呢,没办法,眼看就要下班了还是赶紧想办法吧,先打印一下str,


看起来没毛病,不会需要用NSURL来接收吧,先试一下



居然有所不同进行了转码,看来真的可能是encodeing的问题了,

赶紧试试,但是 AFN的url是string类型的,需要把url换成string,



赶紧运行一下试试,然后神奇的事就发生了



what? initWithContentsOfURL  这个方法居然自己执行了网络请求,我多次测试,接口确实跑通了,不是缓存的问题,因为iOS是闭源的,并不能知道底层究竟是做了什么,查了一些资料,并不是很清楚,只是看起来可能和datawithimage的方法类似,有知道原因的大神们可以告知一下哦,RN与原生交互的坑实在是太多了,欢迎一起讨论.

你可能感兴趣的:(RN网络请求踩坑日记(NSURL和NSString的Encode问题))