WKWebView POST請求


轉載自:https://www.jianshu.com/p/866847bd139a

一、先定義一個JS代碼的宏

#define POST_JS @"function my_post(path, params) {\
var method = \"POST\";\
var form = document.createElement(\"form\");\
form.setAttribute(\"method\", method);\
form.setAttribute(\"action\", path);\
for(var key in params){\
    if (params.hasOwnProperty(key)) {\
        var hiddenFild = document.createElement(\"input\");\
        hiddenFild.setAttribute(\"type\", \"hidden\");\
        hiddenFild.setAttribute(\"name\", key);\
        hiddenFild.setAttribute(\"value\", params[key]);\
    }\
    form.appendChild(hiddenFild);\
}\
document.body.appendChild(form);\
form.submit();\
}"

二、在viewDidLoad里這樣寫

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view.
    
    WKWebView * myWeb = [[WKWebView alloc] initWithFrame:self.view.frame ];
    self.myWeb = myWeb;
    [self.view addSubview:myWeb];
    
    // 要傳遞的參數,(在開發中可以字典轉成json字符串即可)
    NSString * dataStr = @"{\"token\":\"cac6af340960485aa334416c8a34ddbf\"}";
    // 發送的地址
    NSString * url = @"http://192.168.1.36:8000/show_meta/";
    // 最終要執行的JS代碼
    NSString * js = [NSString stringWithFormat:@"%@my_post(\"%@\", %@)",POST_JS,url,dataStr];
    // 執行JS代碼
    [myWeb evaluateJavaScript:js completionHandler:nil];
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM