Можете ли вы добавить заголовки для getJSON в jQuery?
Я искал, чтобы получить данные JSON для интереса, но обратите внимание, что в настоящее время они не позволяют вам получить пользователя и определенную доску, так что нашел mashape, и мне нужно получить ключ API, но с помощью запроса заголовка это можно сделать с помощью get JSON? текущий код:
Мне нужно передать: "X-Mashape-Key: KEY_HERE" я вижу, что это может быть сделано в ajax, но не знаю, как переписать get JSON как цикл, но можно увидеть здесь:
http://blog.mashape.com/mashape-sample-code-executing-ajax-request-using-jquery/
$.getJSON(settings.apiPath + settings.username + '/boards/', function (data) {
beforeSend: setHeader,
console.log(data);
for (var i = 0; i < settings.count; i++) {
var feed = false;
if(data.data[i]) {
feed = data.data[i];
}
var temp_data = {
message: truncate(feed["message"], 100),
url: feed["link"]
};
$('#pinterestFeed ul').append('<li class="feed">' + templating(temp_data) + '</li>');
}
$(".pinterest #loading").hide();
});
4 ответа
$.getJSON является сокращением для
$.ajax({
dataType: "json",
url: url,
data: data,
success: success
});
Таким образом, вы можете просто использовать его как
$.ajax({
beforeSend: function(request) {
request.setRequestHeader("X-Mashape-Key", 'key_here');
},
dataType: "json",
url: settings.apiPath + settings.username + '/boards/',
success: function(data) {
//Your code
}
});
Использование $.ajax() было бы лучше, так как $.getJSON
это сокращенная функция, если вы не можете использовать $.ajax()
, вы можете использовать $.ajaxSetup для установки заголовков, как:
$.ajaxSetup({
headers : {
'X-Mashape-Key' : 'key_here'
}
});
$.getJSON(settings.apiPath + settings.username + '/boards/', function (data) {
...
Но обратите внимание, что он устанавливает заголовки для будущих запросов Ajax.
Так как getJSON является сокращенной нотацией для $.ajax(), почему бы не использовать это
$.ajax({
dataType: "json",
url: url,
data: data,
success: success
});
ajax()
обеспечивает ловушку под названием, которую вы можете указать beforeSend: function(jqXHR, settings)
Хук позволяет добавлять пользовательские заголовки к исходящему запросу AJAX... Я думаю, в отличие от $.ajaxSetup
... вам не нужно беспокоиться о сбросе после его использования
Не думайте, что вы можете установить заголовки на getJSON. http://api.jquery.com/jQuery.getJSON/