我一直在寻找获得JSON数据的pinterest但是请注意他们目前不会让你得到一个用户和一个特定的板,所以找到mashape我需要获得API密钥但使用头请求可以使用getJSON吗?目前的代码是:
我需要传递:“X-Mashape-Key:KEY_HERE”我看到它可以在ajax中完成,但不知道如何将getJSON重写为循环,但可以在这里看到:
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();
});
答案 0 :(得分:19)
$.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
}
});
答案 1 :(得分:8)
使用$.ajax()本来会更好,因为$.getJSON
是简写功能,如果你不能使用$.ajax()
,你可以使用$.ajaxSetup设置标题,如下:
$.ajaxSetup({
headers : {
'X-Mashape-Key' : 'key_here'
}
});
$.getJSON(settings.apiPath + settings.username + '/boards/', function (data) {
...
但请注意,它为将来的Ajax请求设置了标头。
答案 2 :(得分:1)
因为getJSON是$ .ajax()的快捷符号,所以为什么不使用
$.ajax({
dataType: "json",
url: url,
data: data,
success: success
});
ajax()
提供了一个可以通过beforeSend: function(jqXHR, settings)
钩子允许人们为传出的AJAX请求添加自定义标头...我认为不像$.ajaxSetup
...你不必担心使用它后的取消设置
答案 3 :(得分:0)
不要以为你可以在getJSON上设置标题。 http://api.jquery.com/jQuery.getJSON/