ajax リクエストでカスタム ヘッダーを使用しています。
$.ajaxSetup({
beforeSend: function (xhr)
{
xhr.setRequestHeader("Authorization", 'Bearer ' + token);
xhr.setRequestHeader("Accept", 'application/json');
}
});
アプリに socket.io チャットを追加するまではうまく機能していました。socket.io サーバーによって提供される socket.io.js ファイルをインクルードすると、ヘッダーがなくなります :(
確かに、すべての ajax リクエストにヘッダーを入れることができますが、便利ではありません。私の元のアプローチはよりクリーンです。
誰でもこれで私を助けることができますか?ヘッダーがなくなったのはなぜですか? socket.io の使用中にそれらを再び機能させる方法はありますか?
アップデート
socket.io.js スクリプトを取り除くと、次のものが含まれます。
<script src="http://localhost:6001/socket.io/socket.io.js"></script>
それはすべてうまくいっています。いいえ、私はこのようにしているので、エラーはありません:
if(typeof io !== 'undefined') {
self.echo = window.Echo = new Echo({
broadcaster: 'socket.io',
host: CONFIG.socket_url + ":" + CONFIG.socket_port,
auth: {
headers: {
Authorization: 'Bearer ' + auth.getToken(),
Accept: 'application/json'
},
},
});
}
更新2
問題は socket.io ではなく、laravel-echo (ブロードキャストに socket.io を使用) にある可能性があります。