我正在制作一个 android 应用程序,以便我可以通过手机编辑服务器上的值,但是当我尝试发送获取请求以获取初始值时,我没有得到任何响应。我使用 android web 视图能够使用 javascript,因为我不知道 java它在 android 之外(在快速服务器上)运行时有效,所以我怀疑它与 android web 视图有关MainActivity.javapublic 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 中运行任何内容或记录数据
1 回答
弑天下
TA贡献1818条经验 获得超8个赞
确保您在清单中拥有权限:
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.INTERNET" />
另请注意,为了保护其用户,Android 不会处理对任何没有有效 SSL 证书的服务器的 HTTP 请求。
添加回答
举报
0/150
提交
取消