> the json file named "myjson.json" (I've reduced its contents to its
> minimum for testing purposes and it validates in JSONLint):
> {"result": "true"}
>
> The javascript:
> $.getJSON('http://site1:8888/myjson.json', {}, function(data) { alert
> (data.result); })
>
> I'm testing it in a local server (MAMP), and the code above works as
> expected.
>
> The problem is when I place the query that contains the callback (?
> format=json&callback=?), as I understand correctly, this is the way to
> get cross domain json:
>
> $.getJSON('http://site1:8888/myjson.json?format=json&callback=?', {},
> function(data) { alert(data.result); })
>
> It doesn't show the alert, either when in my local server or in an
> outside server.
>
> By looking at the firebug console/net panel, I can see that the
> response + json are correct, but the alert simply doesn't happen...
> All this because of the cross domain query.
>
> I've tried all the other ways ($.ajax(), $.get(), $.post()) and after
> adding the callback query nothing happens!
> I've even tryed adding the "( )" and doing an eval, but nothing...
> Anything I put inside the function(data) {} is ignored.


Both of these methods work fine for me:

$.getJSON('http://site1:8888/myjson.json?format=json&callback=?',
function(data) {
        alert(data.result);
});


$.ajax({
        url: 'http://site1:8888/myjson.json?format=json',
        dataType: 'jsonp',
        success: function(data) {
                alert(data.result);
        }
});

Reply via email to