我正在制作一个Android应用程序,以便可以通过手机在服务器上编辑值,但是当我尝试发送获取请求以获取初始值时,却没有任何响应。
我使用android网络视图能够使用javascript,因为我不知道java
它在android外(在快速服务器上)运行时可以工作,所以我怀疑它与android网络视图有关
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内不运行任何操作或记录数据
英语不是我的母语
答案 0 :(得分:0)
确保您在清单中拥有权限:
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
还请注意,为了保护用户,Android不会处理对没有有效SSL证书的任何服务器的HTTP请求。