我正在嘗試將 json 資料發送到 http url 沒有成功(我嘗試將相同的資料成功發送到另一個 https)。我有這個設定: config.xml
<access origin="*" />
<allow-intent href="http://*/*" />
<allow-intent href="https://*/*" />
AndroidManifest.xml
android:usesCleartextTraffic="true"
HTML 標題
<meta http-equiv="Content-Security-Policy" content="default-src *; style-src * 'unsafe-inline'; script-src * 'unsafe-inline' 'unsafe-eval'; img-src * data: 'unsafe-inline'; connect-src * 'unsafe-inline'; frame-src *;">
<meta http-equiv="Content-Security-Policy" content="default-src * gap://ready file:; style-src 'self' 'unsafe-inline' *; script-src 'self' 'unsafe-inline' 'unsafe-eval' *">
<script>
$.ajax({
type: "GET",
url: url,
dataType: "jsonp",
jsonp: 'callback',
crossDomain: true,
async: true,
data: {
id: results.rows.item(i).id,
bolla: results.rows.item(i).bolla,
anno: results.rows.item(i).anno,
magazzino: results.rows.item(i).magazzino,
articolo: results.rows.item(i).articolo,
quantita: results.rows.item(i).quantita,
term: terminale
},
success: function (data) {
console.log(data)
},
error: function (xhr, textStatus, err) {
alert("readyState: " xhr.readyState);
alert("responseText: " xhr.responseText);
alert("status: " xhr.status);
alert("text status: " textStatus);
alert("error: " err);
}
});
</script>
如果我使用 json,它會回傳devicereadystate=0并出錯,如果我使用 jsonp,它會回傳devicereadystate=4和錯誤 404(如果我粘貼到瀏覽器,它的 url 是正確的)
uj5u.com熱心網友回復:
我相信這是因為使用cordova-android 10.0.x,webview現在充當https頁面,并且在使用https時無法加載/發送到非安全來源。
來自科爾多瓦檔案
默認情況下,啟用 WebViewAssetLoader 并允許應用程式從“適當”的來源提供其內容。這將使路由在 Angular 等框架中輕松作業。
無需額外配置,應用內容從 https://localhost/ 提供。您可以通過設定首選項主機名來配置主機名。
<preference name="hostname" value="localhost" />
https 方案本質上是不可配置的。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/386012.html
標籤:javascript 安卓 阿贾克斯 科尔多瓦 移动的
下一篇:自動完成視窗沒有彈出
