iOSが開発したWebViewはpostリクエストをロードし、パラメータを転送する方法

1164 ワード

様々な要因により、現在国内のモバイル開発の多くは原生とhtml 5の混合開発であり、iOS端のUIWebViewとWKWebViewは非常に重要な役割を果たしている.私たちの元のページからジャンプするwebページの时、私たちは往々にしてフロントエンドのようにパラメータを渡す必要があります.今日私たちが言いたいのは、webViewがどのようにpost要求をロードしてパラメータを渡すかということです.
コードは次のとおりです.
UIWebView *webView = [[UIWebView alloc] init];
NSString *bodyShare = [NSString stringWithFormat: @"hID=%@", userID];
NSMutableURLRequest * requestShare = [[NSMutableURLRequest alloc]initWithURL:[NSURL URLWithString:self.urlStr]];
[requestShare setHTTPMethod: @"POST"];
[requestShare setHTTPBody: [bodyShare dataUsingEncoding: NSUTF8StringEncoding]];
[webView loadRequest:requestShare];

もちろん、getリクエストに対応してパラメータを渡すコードは以下の通りです.
UIWebView *webView = [[UIWebView alloc] init];
self.urlStr = [NSString stringWithFormat:@"%@/tokenredirect?ostype=iphone&token=%@&time=%@",kServerPrefixURL,token,time];
NSURLRequest * requestShare = [[NSURLRequest alloc]initWithURL:[NSURL URLWithString:self.urlStr]];
[webView loadRequest:requestShare];

     
これにより、実際にUIWebViewがデータをロードする方法はhttpがデータを要求する方法と同じであり、get要求は上りパラメータをリンクの後ろにつなぎ、post要求はbodyの中に入れてパラメータを伝達していることがわかります.