第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

未在 API 調(diào)用上的跨子域請求上發(fā)送 Cookie

未在 API 調(diào)用上的跨子域請求上發(fā)送 Cookie

牧羊人nacy 2022-07-01 15:52:39
我有一個(gè)頁面存儲(chǔ)在https://page.domain.com上。在這里,我使用 javascript(主要是 Bootstrap)從https://api.domain.com獲取數(shù)據(jù)。第一次調(diào)用,當(dāng)頁面加載時(shí),是一種“某種”身份驗(yàn)證調(diào)用,它在標(biāo)題中返回一個(gè) cookie:set-cookie: oauth=emd4YWgybTJobmJnZjVrbXl2ZjdlZThiOzkzczg1YWt2YzNyZW42cjk3M2U4dXlweA==; domain=.domain.com; path=/; expires=Fri, 16 Apr 2021 11:58:07 GMT;我可以在開發(fā)人員工具 (Chrome) 中看到 cookie 存儲(chǔ)正確。但是,當(dāng)我進(jìn)行下一個(gè) api 調(diào)用(例如,填充下拉列表 - 引導(dǎo)自動(dòng)完成)時(shí),cookie 不在請求中。當(dāng)我在 localhost(我猜是相同的“域”)中構(gòu)建它時(shí),這工作正常,但是現(xiàn)在,在不同的域上運(yùn)行 html 和 api,似乎沒有共享 cookie。我認(rèn)為這可能是因?yàn)閮蓚€(gè)不同的域,但是根據(jù)文檔,當(dāng)將 cookie 設(shè)置為主域時(shí),所有子域都應(yīng)該能夠共享它。(另外,我包括“withCredentials”標(biāo)志)這是初始調(diào)用的代碼(并設(shè)置后續(xù)調(diào)用):    $.ajax({url: 'https://api.domain.com/get-cookie',        xhrFields: {          withCredentials: true        }      })    .done(function (response) {  $('.selectpicker').selectpicker().ajaxSelectPicker({    ajax: {      // data source      url: 'https://api.domain.com/data.json',      // ajax type      type: 'GET',      // data type      dataType: 'json',      // Use "{{{q}}}" as a placeholder and Ajax Bootstrap Select will      // automatically replace it with the value of the search query.      data: {        q: '{{{q}}}'      }    },    // function to preprocess JSON data    preprocessData: function (data) {      var i, l = data.length, array = [];      if (l) {        for (i = 0; i < l; i++) {          array.push($.extend(true, data[i], {            text : data[i].name,            value: data[i].code,            data : {              subtext: data[i].code            }          }));          localStorage.setItem(data[i].code, data[i].name);        }      }      // You must always return a valid array when processing data. The      // data argument passed is a clone and cannot be modified directly.      return array;    }       });    });我正在使用 AWS API Gateway 和 Lambda 函數(shù),但這不應(yīng)該是相關(guān)的......從 selectPicker 獲取 url(例如:https://api.domain.com/data.json)并將其直接放在瀏覽器中時(shí),我看到正在發(fā)送 cookie。這似乎表明問題可能出在未正確發(fā)送標(biāo)頭的 Bootstrap Select 組件中。我不確定我是否可以使其按預(yù)期工作,或者我必須找到其他替代方案。
查看完整描述

1 回答

?
牛魔王的故事

TA貢獻(xiàn)1830條經(jīng)驗(yàn) 獲得超3個(gè)贊

解決方案是在選擇器請求中也包含 withCredentials:


$('.selectpicker').selectpicker().ajaxSelectPicker({

    ajax: {

      // data source

      url: 'https://api.domain.com/data.json',

      // ajax type

      type: 'GET',

      // data type

      dataType: 'json',

      // Use "{{{q}}}" as a placeholder and Ajax Bootstrap Select will

      // automatically replace it with the value of the search query.

      data: {

        q: '{{{q}}}'

      },

      xhrFields: {

        withCredentials: true

      }

    },

    // function to preprocess JSON data

  preprocessData: function (data) {

        // ...

  }     

 });

 }

);


查看完整回答
反對 回復(fù) 2022-07-01
  • 1 回答
  • 0 關(guān)注
  • 136 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號