首页 > 解决方案 > Ionic 应用 PHPSESSID 在 iOS 上的每个 HTTP 请求上都会发生变化,但在 android 上运行良好

问题描述

我将Ionic1AngularJS一起使用。

几天前我问了一个问题,以解决我在 PHP 会话变量方面遇到的问题,这将更深入地了解我在代码中所做的事情:

PHP $_SESSION 变量在 ionic/angularjs 应用程序中不起作用

我的问题:

我在 Android 上开发它,现在我正在为 iOS 开发它。我所做的是将我的文件移植到 Mac 上,并通过 ionic/cordova 命令为我的应用程序创建了一个新平台(iOS)。我的应用程序的 android 和 iOS 版本都使用相同的代码并指向同一组服务器/PHP 文件。

在 android 版本上,PHPSESSID 似乎始终保持不变,从登录到使用 HTTP 请求进入不同的页面,但在 xCode 上的 iPhone 模拟器上似乎没有。PHPSESSID 在每个 HTTP 请求上都会发生变化。

一个例子:

在我login.js$_POST请求中,我请求验证登录详细信息。如果正确,请$state移至menu.js。在这个文件中,我做了 3 个单独$_GET的请求来获取要在应用程序中使用的数据。当我在使用 android 模拟器/浏览器时检查它时,它会显示set-cookie: PHPSESSID并且对于所有请求都是相同的,而在 iOS 上,每个请求都有不同的 PHPSESSID。

我浏览了一些stackoverflow问题:

PHP cookie 未在 uiwebview 中保持设置

在 UIWebView 中不断丢失 php 会话 cookie

我可以设置 WKWebView 使用的 cookie 吗?

但我不太明白答案,我什至不确定答案是否适用于我。

为什么 iOS 模拟器使用与 android 平台相同的文件也无法工作?

标签: phpioscordovaionic-frameworkcookies

解决方案


推荐阅读