gpt4 book ai didi

java - 调用 javascript 函数不接受可变参数

转载 作者:行者123 更新时间:2023-12-01 08:58:22 25 4
gpt4 key购买 nike

以下代码是在 Fragment 中设计的,用于调用 javascript 文件(MyMap)并调用函数(updateJSONandMap)。该函数本身将 JSON 发送到服务器并采用三个参数。当第一个参数被硬编码(“事件”)时它可以工作,但当我创建变量时它不会工作。

            webview.getSettings().setJavaScriptEnabled(true);
webview.getSettings().setDomStorageEnabled(true);
webview.loadUrl("file:///android_asset/MyMap.html");
webview.setWebViewClient(new WebViewClient() {
public void onPageFinished(WebView view, String url) {
webview.loadUrl("javascript:updateJSONandMap('Incident'," + latitude + "," + longitude + ")");
}
});

JSON 的文本 block 是一个字符串

            Event: {
Action: 'PUT',
Value: {"S": UserEvent}
},

显而易见的是创建一个变量

final String incident = "incident2";

然后

webview.loadUrl("javascript:updateJSONandMap(" + incident + "," + latitude + "," + longitude + ")");

不会产生错误,但不会将 JSON 发送到服务器

最佳答案

编辑:我认为您的字符串中可能有错误,第一个事件用单引号引起来。这个字符串有用吗?

"javascript:updateJSONandMap('" + incident + "'," + latitude + "," + longitude + ")";

如果你这样做会怎样?

final String incident = "incident2";
String loadUrlParam = `javascript:updateJSONandMap('${incident}', ${latitude}, ${longitude})`;

webview.loadUrl(loadUrlParam);

关于java - 调用 javascript 函数不接受可变参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41885666/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com