【问题标题】:Moving from ionic 3 browser testing to Ionic DevApp & Mobile testing从 ionic 3 浏览器测试转移到 Ionic DevApp & Mobile 测试
【发布时间】:2018-11-24 17:55:30
【问题描述】:

我最初用 laravel 建立了一个网站。我现在已经用 ionic 把它做成了一个应用程序,用 laravel 创建了一个 API。正如我添加的那样,浏览器中的一切都正常运行 ->header('Access-Control-Allow-Origin', '*');我在 laravel 中的电话。我现在希望开始添加所需的功能,例如相机。当我使用 Ionic 的 DevApp 和 ionic serve –c 命令时,我真的没有从 laravel 得到任何回报。

  • 来自 laravel 公共目录的图片不返回
  • 在 ios 上,在运行基本登录过程时,控制台中没有返回任何内容
  • 在 android 上,在运行基本登录过程时,我得到以下信息 错误错误

    错误 - [对象 ProgressEvent] 消息 - (未知 url)的 Http 失败响应:0 未知错误 名称 - HttpErrorResponse 状态 - 0 statusText - 未知错误

在浏览器中验证页面

ionViewDidLoad AuthLoginPage
ionViewWillEnter Login
doGetUser_exact No token in localstorage
onSignIn
{"email":" @yahoo.com","password":"zxc"}
loginValidate - http://zzz/api/auth/login
sub
onSignIn - loginfo
{access_token: "123", token_type: "bearer", expires_in: 7200}
token before storage - Bearer  123
login - vUserNew    
{"id":1,"name}
email - @yahoo.com

来自 iPhone 的验证日志 - DEVAPP

ionViewDidLoad AuthLoginPage
ionViewWillEnter Login
doGetUser_exact No token in localstorage
onSignIn
{"email":" @yahoo.com","password":"zxc"}
loginValidate - http://zzz/api/auth/login

---这就是它停止的地方

我还在公共目录的.htaccess文件夹中添加了以下代码

Header add Access-Control-Allow-Origin "*"
Header add Access-Control-Allow-Methods: "GET,POST,OPTIONS,DELETE,PUT"

---这实际上并没有帮助,因为它阻止了浏览器完成登录验证

我只是想知道我的下一步是什么。

  • 还需要添加与 CORS 相关的任何其他内容吗?当我实际部署到生产环境时会如何工作?
  • 会有防火墙问题吗?
  • DevApp 目前可以工作吗?
  • 我希望我的手机直接对着电脑吗
  • 我是否必须部署该应用才能继续使用它

任何帮助将不胜感激,因为我已经用尽了对该主题的搜索。

【问题讨论】:

  • 当您运行ionic serve 并尝试从浏览器登录时,您会得到什么响应标头和响应?能否附上 DevTools 的截图?
  • 老实说,当我在浏览器中构建它时,我在控制台中进行了很多登录,它工作正常 - 登录和退出 - 显示了它应该在我的登录过程中遇到的所有步骤。当我运行 ionic serve -c 并在我的手机上运行时,我提交了登录信息——它进入了帖子,并且基本上停止了在控制台中看到的内容。我将在上面添加控制台以进行身份​​验证帖子

标签: laravel ionic-framework cors


【解决方案1】:

您是否已将您的域列入白名单? Cordova Whitelist pluginionic start 应用程序的标准配置。 config.xml中有没有和相关标签?

<access launch-external="yes" origin="*" />
<allow-navigation href="*" />
<allow-intent href="http://*/*" />
<allow-intent href="https://*/*" />

【讨论】:

  • 我有 4 个中的 2 个,是的,我最初需要白名单才能连接到浏览器。我添加了我没有的两个并得到了相同的结果。它正在连接到 ionic,但没有从 laravel 及其资产所在的虚拟主机地址返回任何内容。
  • 您是否编译过应用并在本地运行它?
  • 当您尝试从开发应用程序连接时,您在服务器日志中看到了什么?
  • 我在本地主机上使用错误日志的次数不多。当我找到它时,错误日志是空的。我将配置“日志”设置更改为错误日志和系统日志,缓存了配置,但当我在设备上重新运行时仍然没有记录任何内容。我知道我的生产环境中有错误日志,但我不确定它们为什么不在这里。当涉及到 Laravel 时,我第一次无法解决错误。有什么建议吗?
  • 在浏览器中运行应用程序时是否获取服务器日志,但在设备上运行时完全没有日志?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-11-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-12-12
相关资源
最近更新 更多