Seems that no response received on getJSON

I am sending the jsonp request as:

var jsoncallback = "?jsoncallback=?"
$.getJSON( reportURL + jsoncallback, {
    tags: "",
    tagmode: "any",
    format: "json"
    })
    .done(function( data ) {
        $.each( data.items, function( i, item ) {
          alert( item );
        });
    });

I have put an alert to see if the request works. On server side, in node js file I am responding to request as:

..
console.log("request received");
response.writeHead( 200, { "Content-Type": "application/json" } );
..
response.end();

In the logs I can see that the request received. The problem is that no alert windows pops up.

What could be the reason to this?

I just reponse.writeHead(...) and (for testing reasons - just the head and end) response.end()

With the jsoncallback=? in the URL, jQuery is expecting a JSONP <script> as a response. For this to work, the server should at the very least write out the "padding."

That is a call to the function named by jsoncallback. And it won't be just ? -- jQuery replaces that with a pseudo-random function name along the lines of jQuery1910123456789_0123456789. For that, the response should at least be:

jQuery1910123456789_0123456789();

You'll need to get the value from the request.url:

var parsedUrl = url.parse(request.url, true);
var query = parsedUrl.query || {};

if ('jsoncallback' in query) {
    response.write(query.jsoncallback + '();');
}
// ...

And, once you have data to output with it:

if ('jsoncallback' in query) {
    response.write(query.jsoncallback + '(' + JSON.stringify(data) + ');');
} else {
    response.write(JSON.stringify(data));
}

Have you confirmed the JSON is correctly formatted? Check it against http://jsonlint.com/.

From the getJSON() docs:

As of jQuery 1.4, if the JSON file contains a syntax error, the request will usually fail silently.