Search code examples
jqueryajaxjsongetjson

Can you add headers to getJSON in jQuery?


ive been looking to get JSON data for pinterest but notice they currently dont let you get for a user and a specific board so found mashape and i need to get the API key but using header request can this be done using getJSON? current code is:

I need to pass: "X-Mashape-Key: KEY_HERE" i see it can be done in ajax but dont know how to rewrite the getJSON as the loop to that but can see here:

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();  
        });

Solution

  • $.getJSON is a shorthand for

    $.ajax({
        dataType: "json",
        url: url,
        data: data,
        success: success
    });
    

    So you can simply use it directly like

    $.ajax({
        beforeSend: function(request) {
            request.setRequestHeader("X-Mashape-Key", 'key_here');
        },
        dataType: "json",
        url: settings.apiPath + settings.username + '/boards/',
        success: function(data) {
            //Your code
        }
    });