POST请求在Ionic2 App中的IOS上不起作用

Dmytro Garastovych

我的HTTP请求有问题。在Ionic View,浏览器和Android上一切正常,但在IOS上无法正常工作。GET请求在IOS上也可以正常工作。任何猜测,那会是什么?

我可以为您提供更多信息,只需告诉我您需要什么信息即可。这是我的package.json中的内容:

"dependencies": {
    "@angular/common": "2.2.1",
    "@angular/compiler": "2.2.1",
    "@angular/compiler-cli": "2.2.1",
    "@angular/core": "2.2.1",
    "@angular/forms": "2.2.1",
    "@angular/http": "2.2.1",
    "@angular/platform-browser": "2.2.1",
    "@angular/platform-browser-dynamic": "2.2.1",
    "@angular/platform-server": "2.2.1",
    "@ionic/cloud-angular": "0.7.0",
    "@ionic/storage": "1.1.7",
    "@types/moment-timezone": "0.2.32",
    "ionic-angular": "2.0.0-rc.4",
    "ionic-native": "2.4.1",
    "ionicons": "3.0.0",
    "moment": "2.15.1",
    "moment-timezone": "0.5.7",
    "ng2-translate": "5.0.0",
    "rxjs": "^5.0.0-beta.12",
    "zone.js": "0.6.26"
  },
  "devDependencies": {
    "@ionic/app-scripts": "^1.0.0",
    "sw-toolbox": "^3.4.0",
    "typescript": "2.0.9"
  },

后端接收发布请求的空白正文。这是我回来的东西:

ERROR: {"_body":"{\"error\":\"Sign up error\",\"message\":{\"first_name\":[\"First Name cannot be blank.\"],\"last_name\":[\"Last Name cannot be blank.\"],\"email\":[\"Email cannot be blank.\"],\"device_id\":[\"Device Id cannot be blank.\"]}}","status":422,"ok":false,"statusText":"Bad Request","headers":{"Content-Type":["application/json; charset=UTF-8"],"Pragma":["no-cache"]},"type":2,"url":"http://app.EDITED"}

随时提出任何问题,谢谢您的帮助!

更新:我们将后端移至HTTPS,现在一切正常:)

盖·纳舍尔(Guy Nesher)

官方的答案似乎在这里:

https://techcrunch.com/2016/06/14/apple-will-require-https-connections-for-ios-apps-by-the-end-of-2016/

苹果只是决定强制使用HTTPS。我怀疑Cordova / Ionic目前根本无法很好地处理此问题(也没有引发任何错误,也没有记录在案等等)。

请记住,野生动物园检查器将显示数据正在发送到服务器-这是不正确的,所有发送的数据都已在iOS应用中被删除(整个正文)(我在此上花了一天的时间)。

正如Dmytro Garastovych所述,正确的(也是唯一的)解决方案是迁移到HTTPS

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章