0

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 を使用) にある可能性があります。

4

1 に答える 1