![](/img/trans.png)
[英]OOP concept - where do you put the “getUserMembershipStorageSize()”
[英]Where do you put the CSRF token in Relay/GraphQL?
我正在嘗試使用我的Laravel服務器設置Relay和GraphQL。 我已成功設置Laravel以服務GraphQL。
在過去,為了使用jQuery進行ajax調用,我在master.blade.php中添加了以下內容:
<meta name="csrf-token" content="{{ csrf_token() }}">
以及我的main.js文件中的以下內容:
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
我的GraphQL端點當前正在返回令牌不匹配異常。 在我看來,Relay需要以與jQuery.ajax類似的方式將csrf-token傳遞給服務器。 它去哪兒了?
配置網絡層以將標頭附加到每個請求:
Relay.injectNetworkLayer(
new Relay.DefaultNetworkLayer('/graphql', {
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content'),
},
})
);
Relay.DefaultNetworkLayer
的第二個參數傳遞給fetch(input, init)
的init
參數。 有關詳細信息,請參閱“ 中繼網絡層指南” 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.