php ajax设置cookie,通过CORS通过Ajax请求在浏览器上设置Cookie

本文探讨了一个关于Ajax登录过程中遇到的问题,即成功登录后浏览器未能正确设置来自服务器的Cookie。文章详细展示了请求与响应头信息,并寻求解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

尝试实现一个ajax登录/注册过程(不具有身份验证的刷新站点)。使用cookies来保存状态。我以为我现在有这个权利,但是由于某种原因,浏览器在从服务器恢复之后不设置cookie。任何人可以帮助?以下是请求和响应标头:

Request URL:http://api.site.dev/v1/login

Request Method:POST

Status Code:200 OK

请求标头

Accept:application/json,text/plain,*/*

Accept-Charset:ISO-8859-1,utf-8;q=0.7,*;q=0.3

Accept-Encoding:gzip,deflate,sdch

Accept-Language:en-US,en;q=0.8

Connection:keep-alive

Content-Length:57

Content-Type:application/json;charset=UTF-8

Host:api.site.dev

Origin:http://site.dev

Referer:http://site.dev/

User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_2) AppleWebKit/537.11 (KHTML,like Gecko) Chrome/23.0.1271.101 Safari/537.11

withCredentials:true

X-Requested-With:XMLHttpRequest

Request Payload

{"email":"calvinfroedge@gmail.com","password":"foobar"}

回应标题

Access-Control-Allow-Credentials:true

Access-Control-Allow-Headers:X-Requested-With,Content-Type,withCredentials

Access-Control-Allow-Methods:GET,POST,PUT,DELETE,OPTIONS

Access-Control-Allow-Origin:http://site.dev

Connection:Keep-Alive

Content-Length:19

Content-Type:application/json

Date:Tue,08 Jan 2013 18:23:14 GMT

Keep-Alive:timeout=5,max=99

Server:Apache/2.2.22 (Unix) DAV/2 PHP/5.4.7 mod_ssl/2.2.22 OpenSSL/0.9.8r

Set-Cookie:site=%2B1THQQ%2BbZkEwTYFvXFVV5fxi00l2K%2B6fvt9SuHACTNsEwUGzDSUckt38ZeDsNbZSsqzHmPMWRLc84eDLZzh8%2Fw%3D%3D; expires=Thu,10-Jan-2013 18:23:14 GMT; path=/; domain=.site.dev; httponly

X-Powered-By:PHP/5.4.7

我也从Chrome服务器返回的Chrome网络工具中看到cookie:

回应曲奇

Name: site

Value: %2B1THQQ%2BbZkEwTYFvXFVV5fxi00l2K%2B6fvt9SuHACTNsEwUGzDSUckt38ZeDsNbZSsqzHmPMWRLc84eDLZzh8%2Fw%3D%3D

Domain: .site.dev

Path: /

Expires: Session

Size: 196

Http: ✓

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值