【php】ajax请求接口的cookie问题
阿神
阿神 2017-05-16 12:03:02
0
2
359

场景:比如说现在有两个接口,用户登录接口a,和获取用户信息接口b。浏览器调用完全没有问题,现在要用jq的ajax调用这两个接口,就出问题了。

  1. 先说浏览器。
    我在浏览器输入登录接口a地址,传递参数,登录成功。服务端(php)将我的用户id,用户名等存在session里。接下来请求获取用户信息接口b,服务器直接从session里找到用户信息,返回浏览器,成功!

  2. 再说 ajax。
    我在js里用ajax调用登录接口,返回成功信息,登录成功。同样sesion里存了用户信息。但是我接下来用ajax调用获取用户信息接口b的时候,就出问题了,提示session找不到。

我在控制台里看了下,浏览器登录成功之后,在响应头里会返回set-cookie的信息,下一次请求同一域名下的接口,会自动在请求头中发送cookie,从而获取服务器中session的数据。

在ajax请求的情况下,登录成功同样会在响应头里会返回set-cookie的信息,可是下一次请求同一域名下的接口,却不会自动发送cookie,所以找不到服务器的session数据。

那么问题来了:
我若想拿到session数据,在ajax请求时,是要手动发送cookie吗?如果不是,怎么拿到session数据?

求大神解答!

阿神
阿神

闭关修行中......

membalas semua(2)
黄舟

ajax Minta untuk menambah parameter xhrFields: { withCredentials: true },ajax 请求添加参数 xhrFields: { withCredentials: true },

php 设置header('Access-Control-Allow-Credentials:true');

php set header('Access-Control-Allow-Credentials:true');🎜
巴扎黑

Sesi bergantung pada kuki Di manakah kuki pada pelayan anda disimpan?

Walaupun anda menghantar kuki dalam penyemak imbas pelanggan anda, adakah ia konsisten dengan kuki dalam pelayan?

Jadi sesi tidak boleh dilakukan pada pelayan Anda hanya boleh menggunakan token, dan anda perlu menggunakan redis atau sesuatu untuk menyimpan maklumat di latar belakang.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan