![](/img/trans.png)
[英]Http calls are not working for ionic 3 IOS app. working fine in Android
[英]POST http calls not working in Ionic iOS build
我在 Ionic V4 中創建了一個應用程序,然后使用cordova
插件(不是電容器)構建了相同的應用程序。 我的應用程序的第一頁是登錄,我從表單字段獲取值並將其發送到登錄方法,在那里我對服務器進行POST
調用。
loginUrl = 'http://localhost:3000/login';
errorLog: any;
login(form) {
const user = form.values;
this.httpClient.post(this.loginUrl, user).subscribe( response => {
this.toastController.create({message:'Login Successful', duration: 1000}).then(toast=> toast.present());
}, error => {
this.errorLog = error;
this.toastController.create({message:'Some Error Occured', duration: 1000}).then(toast=> toast.present());
})
}
此外,我正在登錄頁面打印該錯誤日志,因為一旦我們進行構建,就很難使用 Android Studio 或Xcode
在設備中進行調試。
所以我正在打印這樣的錯誤日志
<h3>{{errorLog | json}}</h3>
在 Web 瀏覽器和 android 中運行應用程序的情況下,我不會從POST
調用中收到錯誤。 當我嘗試構建並使用Xcode
並部署到我的 iPad 時,在 iOS 中出現錯誤。
它在GET HTTP
調用中工作正常,因為之前我已經在相同的情況下測試了GET HTTP
調用,但在POST HTTP
調用中不起作用。
它返回 500 內部服務器錯誤。 錯誤對象看起來像
{
"statusText": "OK",
"status": 500,
"url": "http://localhost:3000/login",
"ok": false,
"name": 'HttpErrorResponse',
"message": "Http failure response for http://localhost:3000/login: 500 OK",
...
}
我如何構建是
ionic build --prod --release
ionic cordova platform remove ios
(如果平台已經存在)。ionic cordova platform add ios
ionic cordova prepare ios
然后我在 Xcode 中打開同一個ios
文件夾,選擇開發者帳戶,連接我的 iPad 並運行它。
你能解決嗎? 我遇到了類似的情況,這就是我解決它的方法。 在capacitor.config.json 文件中,我們需要指定'server' 從中獲取Api 數據的位置。
"appId": "com.yoursite",
"appName": "Your Site",
"bundledWebRuntime": false,
"npmClient": "npm",
"webDir": "www",
"cordova": {},
//This part mentioned below is important.
"server": {
"url": "https://yoursite.com",
"allowNavigation": ["yoursite.com", "*.yoursite.com"]
},
希望這可以幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.