2017-11-13 2 views
2

私はWordpress APIへのjQuery AJAXコールを持っており、NonceをrequestHeaderに設定する必要があります。jQuery AJAXをFetch APIに変換しようとしましたが、setRequestHeaderはどのようになっていますか?

$.ajax({ 
    url: '/wp-json/app/v1/get_data/', 
    method: 'POST', 
    beforeSend: function (xhr) { 
    xhr.setRequestHeader('X-WP-Nonce', NONCE); // NONCE is global var 
    }, 
    data: {}, 
}).done(onSuccess); 

は、それから私は、APIを取得するためにそのコードを変換したいので、私はこれを試してみました:

window.fetch('/wp-json/app/v1/get_data/', { 
    method: 'POST', 
    headers: { 
    'Content-Type': 'application/json', 
    'X-WP-Nonce': NONCE 
    }, 
    body: {}, 
}).then(onSuccess) 

しかし、私は私のnonceが検出されないかのように禁断の403を取得します。私はそれが正しい方法であるかどうか分からないrequestHeader

私はFetch APIに関する多くの情報を見つけることができません。誰もこれを経験していますか?

おかげ

答えて

1

私は、引数にcredentials: 'same-origin'を追加することによってそれを解決し

window.fetch('/wp-json/app/v1/get_data/', { 
    method: 'POST', 
    headers: { 
    'Content-Type': 'application/json', 
    'X-WP-Nonce': NONCE 
    }, 
    credentials: 'same-origin', 
    body: {}, 
}).then(onSuccess) 
関連する問題