ajax是怎麼發請求的和瀏覽器發的請求一樣嗎?cookie

已邀請:

新浪

贊同來自:


下午設置cookie時出現瞭個問題


用ajax發的post請求php,在php的方法裡設置瞭cookie,然後在瀏覽器請求的php裡打印cookie值但是一直獲取不到cookie的值


分析:


1、ajax向php發請求,php裡用setcookie是



告訴這個客戶端你來設置cookie,然後值是多少,這和自己一直理解的cookie是本地的才聯系起來,之前一直搞不明白php的setcookie怎麼把手伸到客戶端的,哎,丟人


2、而且不同的瀏覽器cookie存儲路徑是不一樣的,看谷歌和獵豹的圖



3、ajax的原理是用XMLHttpRequest 對象或ActiveXObject對象


這個對象可以



  • 在不重新加載頁面的情況下更新網頁

  • 在頁面已加載後從服務器請求數據

  • 在頁面已加載後從服務器接收數據

  • 在後臺向服務器發送數據


具體地址看w3cschool: http://www.w3school.com.cn/xml/xml_http.asp


所以現在的問題是


1、ajax得到命令設置cookie和瀏覽器設置cookie的目錄是一樣的嗎?


2、XMLHttpRequest 對象發的請求和瀏覽器發送的請求一樣嗎?


目前自己發現的區別:


瀏覽器的請求:


ajax的請求:


其餘的頭部信息相同,可以看出最下面的X-Requested-With,cookie裡的值不一樣,但是PHPSESSID是相同的


找出的問題是ajax請求的地址是經過thinkphp路由的,另一個是沒過路由的


要回復問題請先登錄註冊