Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 跨域Ajax登录(同一服务器)_Jquery_Ajax_Zend Framework - Fatal编程技术网

Jquery 跨域Ajax登录(同一服务器)

Jquery 跨域Ajax登录(同一服务器),jquery,ajax,zend-framework,Jquery,Ajax,Zend Framework,我有两份申请。App1是一些旧的自制php项目,不使用Zend。App2是一个小型Zend应用程序 这只是为了测试。在本例中,它表示App1 如果单击新闻稿313上的显示,您将登录并查看新闻稿。这是一个正常的跨域post调用。登录是在后台进行的。复制粘贴该url 现在,删除cookie。如果重新加载该选项卡,则会出现错误,因为您不再登录 失败之处如下: 单击“登录”按钮时,您应该已登录。这意味着,首先单击按钮。然后,打开一个新的标签页,再次浏览你刚刚读过的时事通讯 如您所见,通过ajax登录不起

我有两份申请。App1是一些旧的自制php项目,不使用Zend。App2是一个小型Zend应用程序

这只是为了测试。在本例中,它表示App1

如果单击新闻稿313上的显示,您将登录并查看新闻稿。这是一个正常的跨域post调用。登录是在后台进行的。复制粘贴该url

现在,删除cookie。如果重新加载该选项卡,则会出现错误,因为您不再登录

失败之处如下:

单击“登录”按钮时,您应该已登录。这意味着,首先单击按钮。然后,打开一个新的标签页,再次浏览你刚刚读过的时事通讯


如您所见,通过ajax登录不起作用。为什么?我真的不明白为什么它会用普通的post设置cookie,但在进行ajax调用时却不会设置cookie。

将两个应用程序的会话处理程序用户设置为同一个域。因此,如果您有app1.foo.bar.com和app2.foo.bar.com,您应该在这两个应用程序中执行类似操作:

Zend_Session::setOptions(array(
    'cookie_domain' => '.foo.bar.com'
));

这段代码的一个地方是引导,但是在调用
Zend_Auth::getInstance()->hasIdentity()
或启动会话之前的任何地方都应该是正常的。

将两个应用程序的会话处理程序用户设置为同一个域。因此,如果您有app1.foo.bar.com和app2.foo.bar.com,您应该在这两个应用程序中执行类似操作:

Zend_Session::setOptions(array(
    'cookie_domain' => '.foo.bar.com'
));

这段代码的一个地方是引导,但是在调用
Zend_Auth::getInstance()->hasIdentity()
或启动会话之前的任何地方都应该是正常的。

只有一个应用程序是基于Zend的。但为什么这两个应用程序都需要它呢?App1从不关心它。App1向App2发出请求,App2应响应浏览器设置的cookie,因此,如果我打开一个新窗口并转到App2,我应登录。Idk为什么我的浏览器没有设置cookie。来自app2的respond cookie已经有了这样的域集,我现在用forms target=iframe功能解决了它。只有一个应用程序是基于Zend的。但为什么这两个应用程序都需要它呢?App1从不关心它。App1向App2发出请求,App2应响应浏览器设置的cookie,因此,如果我打开一个新窗口并转到App2,我应登录。Idk为什么我的浏览器没有设置cookie。来自app2的respond cookie已经有了这样一个域集,我现在用forms target=iframe功能解决了它。