JSON Demande jointe [objet%20Object] en jQuery

Je suis en train de chercher une coutume flux JSON j'ai écrit avec jQuery en utilisant le getJSON méthode. Pour une raison inconnue, l'URL semble avoir cache_gen.php?location=PL4 dépouillé de la fin et remplacé par [l'objet%20Object] résultant en une erreur 404 erreur se produise.

Voici le jQuery que j'utilise:

var fetchData = function() {

    if (Modernizr.localstorage) {

        var api_location = "http://weatherapp.dev/cache_gen.php";
        var user_location = "PL4";
        var date = new Date();

        console.log(api_location + '?location=' + user_location);

        jQuery.getJSON({
            type: "GET",
            url: api_location + '?location=' + user_location,
            dataType: "json",
            success: function(jsonData) {
                console.log(jsonData);
            }
        });

    } else {
        alert('Your browser is not yet supported.  Please upgrade to either Google Chrome or Safari.');
    }
}

fetchData();

À partir de la console de log je peux voir la chaîne de l'URL est correctement calculés comme: http://weatherapp.dev/cache_gen.php?location=PL4

Toutefois, le deuxième ligne dans la console: Failed to load resource: the server responded with a status of 404 (Not Found).

Quelqu'un peut me pointer dans la bonne direction?

Mise à JOUR 19/01/2013 23:15

Bien, j'ai juste converti de manière qui est unique les docs parfaitement à l'aide de $.ajax. J'ai aussi ajouté un "fail" et enregistré toutes les données qui est transmis.

var fetchData = function() {

    if (Modernizr.localstorage) {

        var api_location = "http://weatherapp.dev/cache_gen.php";
        var user_location = "PL4";
        var date = new Date();

        var url = api_location + '?location=' + user_location;

        console.log(url);

        jQuery.ajax({
            type: "GET",
            url: api_location + '?location=' + user_location,
            dataType: "json",
            success: function(jsonData) {

                console.log(jsonData);
            },
            error: function( jqXHR, textStatus, errorThrown ) {
                console.log('textStatus: ' + textStatus );
                console.log('errorThrown: ' + errorThrown );
                console.log('jqXHR' + jqXHR);
            }
        });

    } else {
        alert('Your browser is not yet supported.  Please upgrade to either Google Chrome or Safari.');
    }
}

fetchData();

Après cela, ma console me donne les informations suivantes:

http://weatherapp.dev/cache_gen.php?location=PL4
download_api.js:44textStatus: parsererror
download_api.js:45errorThrown: SyntaxError: JSON Parse error: Unable to parse JSON string
download_api.js:46jqXHR[object Object]

J'ai assuré les en-têtes du flux JSON sont en cours, et l'alimentation est au service de JSON valide (il efficacement les caches un service 3ème partie alimentation pour économiser sur les coûts de l'API).

weatherapp.dev/cache_gen.le php?emplacement=PL4 n'est pas un travail d'url. <----- cliquez dessus
il peut être un /etc/hosts redirection :). Mais, certainement .dev sons de poisson
.dev est un domaine du développement. Il ont mis cela a un Apache virtual-host sur mon système local, qui est a une entrée dans mon /etc/hosts afin de s'assurer qu'résout correctement. Je peux accéder à ce domaine dans mon navigateur, de son le même domaine que celui où le fichier JS est chargé à partir.
Ce qui apparaît à l'écran lorsque vous accédez à l'URL?
Je peux le prouver, copie de votre réponse à partir des outils de dev et le coller dans le jsonlint.com - il va vous montrer où est votre erreur.

OriginalL'auteur Daniel Groves | 2013-01-19