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路由的,另一個是沒過路由的

 

####更新線

現在來看,問題是ajax的跨域的原因,圖中的origin用到了cors的協議,可以看這篇 https://www.cnblogs.com/efan/p/10397174.html

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM