vue.js が非常に使いやすいので、積極的に使っている今日この頃、
Jqueryを使っている既存の開発分も、改修のタイミング等で少しずつ適用したりしてます。
そんな作業のいっかんで、データ取得のための
$.ajax(
や
$.getJSON(
の表記をやめるべく
fetch(
ブラウザの対応状況みてもまあ大丈夫なようなので
ちょこちょこ置き換えていってると
クロームでは問題なかったのが、Android端末で動作しない!
あれっと、「edge」でみてみるとこれも動作しないし、どうもセッションが切れるようなエラーが・・
えいっとググるとわかりました。
credentials: request に使用したい秘密情報: omit、same-origin、include が使用可能です。現在のドメインの Cookie を自動で送るためにはこのオプションを指定する必要があります。Chrome 50 から、このプロパティはFederatedCredential インスタンスや PasswordCredential インスタンスを受け付けるようになりました。なるほど、クロームだけOkなのはそういうことなんですね。
(出典:Mozilla)
どいうことで、
fetch( 'ポストするurl' ,
{
mode: 'same-origin',
credentials: 'include'
}
).then(response => response.json()).then( jsonData => {
//jsonDataを使って処理
}).catch(err => console.error(err));
こんな感じでオプションに
{
mode: 'same-origin',
credentials: 'include'
}
を追加することで事なきをえました。
0 件のコメント :
コメントを投稿