前兩天,由于項目中后臺數(shù)據(jù)的調(diào)整,導致我在加載WKWebView的時候,不能利用cookie事先保存自己的用戶信息,只能在LoadRequest的時候把參數(shù)帶進去,這樣讓我一時有點郁悶。去網(wǎng)上查了一下WKWebView的Post請求,大致有點亂,這里我來給大家總結(jié)一下下。。。
1,以需要加載網(wǎng)頁的主地址創(chuàng)建一個可變的NSMutableURLRequest,設置請求的HTTPMethod屬性為POST。
2,拼接參數(shù),把需要帶入的參數(shù)拼接為字符串,設置給請求的請求體。
[request setHTTPBody:[ @“params” dataUsingEncoding:NSUTF8StringEncoding]];
parmas的格式為:parms1=value1&parms2=value2&parms3=value3
3,WKWebView調(diào)用LoadRequest方法
4,自定義一個WKWebView的LoadRequest方法,替換掉WKWebView控件本身的方法。
寫一個WKWebView的分類,在分類的.m中實現(xiàn)如下兩個方法

load方法會在程序一啟動的時候加載,即是在程序啟動的時候就會把方法交換了


注意導入#import <objc/runtime.h>的頭文件
這里面主要就是利用runtime,加程序加載的時候,就把WKWebView的LoadRequest方法,替換成自己寫的方法,用一段js代碼把每個參數(shù)帶入到網(wǎng)頁。
[附上DEMO:](https://github.com/youlianchun/WKWebView_POST)