2016-10-06 4 views
1

Я недавно начал экспериментировать с Mithril js и наткнулся на основное требование отправки некоторых полномочий и других заголовков вместе с запросом. После прочтения документации и некоторые примеры онлайн я понял, что это, как это можно сделать -xhr не определен | mithril js

m.request({ 
    method: "GET" 
    url: "/some/url/" 
    config: function(xhr) { 
    xhr.setRequestHeader("Authorization", "".concat("Token ", API_TOKEN)); 
    } 
}); 

Мой вопрос здесь, где это XHR передается? Потому что это, очевидно, через ошибку: Uncaught ReferenceError: xhr is not defined

Я не могу установить заголовки. Если я должен объявить экземпляр XMLHTTPRequest и использовать open(), тогда тогда понадобится m.request()?

Что я делаю неправильно? Направления помогли бы.

ответ

1

Это должно работать нормально, если крюк config дает вам xhr объект в качестве первого параметра. It is, according to the documentation

Я заметил некоторые ошибки синтаксиса однако (отсутствующие запятые). Это решение?

m.request({ 
    method: "GET", 
    url: "/some/url/", 
    config: function(xhr) { 
    xhr.setRequestHeader("Authorization", "".concat("Token ", API_TOKEN)); 
    } 
}); 
+0

Спасибо. Кстати, эти запятые были в фактическом коде :) Также я нашел проблему. То, что я на самом деле делал, было что-то вроде этого: 'config: someXHRFunction (xhr)' Когда я изменил его так же, как я поставил под вопрос - 'config: function (xhr) {console.log (" XHR found "+ xhr)} «Тогда это сработало. Что странно. –

+1

@KeshavAgrawal это не так. Вам нужно узнать разницу между вызовом и декларацией. – Knu

0

На самом деле, все, что вам нужно сделать (в соответствии с Mithril documentation), чтобы установить пользовательские заголовки это:

m.request({ 
    method: "GET", 
    url: "/some/url/", 
    headers: { 
     "Authorization": "Token <token_placeholder>", 
    }, 
})