我正在制作一個 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
提交
取消