gpt4 book ai didi

javascript - XMLHttpRequest 不会抛出错误,但不会调用 onload

转载 作者:行者123 更新时间:2023-12-02 02:27:47 25 4
gpt4 key购买 nike

我正在制作一个 Android 应用程序,以便我可以通过手机编辑服务器上的值,但是当我尝试发送获取请求以获取初始值时,我没有得到任何响应。

我使用 android web view 来使用 javascript,因为我不懂 java

它在 android 外部(在快速服务器上)运行时有效,所以我怀疑它与 android web View 有关

MainActivity.java

public class MainActivity extends AppCompatActivity {

WebView WebViewWithCSS;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

WebViewWithCSS = (WebView)findViewById(R.id.webView);

WebSettings webSetting = WebViewWithCSS.getSettings();
webSetting.setJavaScriptEnabled(true);

WebViewWithCSS.setWebViewClient(new WebViewClient());
WebViewWithCSS.loadUrl("file:///android_asset/www/index.html");
}

private class WebViewClient extends android.webkit.WebViewClient
{
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url)
{
return super.shouldOverrideUrlLoading(view, url);
}
}
}

JavaScript 文件

  var getJSON = function(url, callback) {
var xhr = new XMLHttpRequest();
xhr.open('GET', url, true);
xhr.responseType = 'json';
xhr.onload = function() {
var status = xhr.status;
if (status === 200) {
callback(null, xhr.response);
} else {
callback(status, xhr.response);
}
};
xhr.send()
};

getJSON('http://totalytherealdeal.url/get', function(err, data) {
console.log(data)
if (err !== null) {
console.log(err)
} else {
console.log(data)
}
});

正如我所说,它不会在调试器中输出任何意外的代码。当它尝试 xhr.send() 时,似乎出现了问题,因为它之后不会在 xhr.onload 内运行任何内容或记录数据

英语不是我的母语

最佳答案

确保您在 list 中拥有权限:

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />

另请注意,为了保护用户,Android 不会处理对任何没有有效 SSL 证书的服务器的 HTTP 请求。

关于javascript - XMLHttpRequest 不会抛出错误,但不会调用 onload,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57245138/

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