iOSウィーチャット支払いのフィードバックエラーReferenceError:Can't find variableとType Error:undefined is not a function
1590 ワード
機能:WeChat決済は原生で書いています.支払いが完了したら、元のスタッフに回調結果を送る必要があります.
原生がjsメソッドを呼び出す時、正常な書き方は?
原生がjsメソッドを呼び出す時、正常な書き方は?
//
payResult:function(strings) {
alert(' ');
}
//
mWebview.evaluateJavascript("javascript:payResult("+resCode+")", new ValueCallback() {
@Override
public void onReceiveValue(String value) {
// js
}
});
//ios
[self.webView evaluateJavaScript:[NSString stringWithFormat:@"payResult(resCode)"] completionHandler:^(id _Nullable item, NSError * _Nullable error) {
NSLog(@"error:%@",error);
}];
でも、役に立たないことが分かります.iosで間違いを報告します.見てみます.Error Domain=WKErrorDomain Code=4 " JavaScript " UserInfo={WKJavaScriptExceptionLineNumber=0, WKJavaScriptExceptionMessage=TypeError: undefined is not a function, WKJavaScriptExceptionColumnNumber=0, NSLocalizedDescription= JavaScript }
もう一つの先端の書き方は方法を直接にscriptタグに書いて、次のようなエラーを報告します.Error Domain=WKErrorDomain Code=4 " JavaScript " UserInfo={WKJavaScriptExceptionLineNumber=1, WKJavaScriptExceptionMessage=ReferenceError: Can't find variable: payResult
iosとAndroidの書き方は大丈夫です.そして、私達の先端はvue 2.0で書いています.vueでは方法を全体にアップロードする必要があります.正しい先端の書き方はmounted方法の中にwindow.payResult=this.payResultを追加して、それからいいです.mounted() {
window.payResult = this.payResult
},
methods: {
payResult:function(strings) {
alert(' ');
}
}
他の問題があれば、メッセージを残してもいいです.