你能在jQuery中为getJSON添加标题吗?

我一直在寻找获得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('
  • ' + templating(temp_data) + '
  • '); } $(".pinterest #loading").hide(); });

    $ .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)指定的钩子beforeSend: function(jqXHR, settings)

    钩子允许一个人向传出的AJAX请求添加自定义标题…我认为不像$.ajaxSetup …你不必担心使用它后的$.ajaxSetup

    不要以为你可以在getJSON上设置标题。 http://api.jquery.com/jQuery.getJSON/