Ich verwende jQuery und PHP, um mit meiner MySQL-Datenbank zu kommunizieren. jQuery ruft ein PHP-Skript auf und gibt die Parameter zum Nachschlagen weiter. Dann durchsucht PHP meine MySQL-Datenbank, wandelt sie in JSON um und gibt den JSON an meine jQuery zurück. Theoretisch sollte das funktionieren. Es gibt die jQuery im richtigen Format zurück und alles, aber ich stoße auf ein Problem, wenn ich den optionalen Datenparameter in $ .getJSON () verwende. Hier ist was ich tue:

// I would like to send a string to the php file on my webserver
$.getJSON('http://garbagewire.tk/server/refresh.php', { user:"jacob.pickens" }, function(data) {
    console.log(data.ammount);
});

Ich bekomme die Daten jedoch nie zurück, ich erhalte hier den folgenden Fehler:

08-18 13:35:01.866  17420-17420/? W/WebConsole﹕ Console.ERROR: Uncaught TypeError: Object #<Object> has no method 'call' (http://garbagewire.tk/zepto.js:2)

Und hier ist mein PHP: (MySQL-Sachen weggelassen)

<?php 

$user = $_GET['user'];

echo "{";
echo "\"ammount\":", json_encode($user);
echo "}";
?>

Ich verwende die App.js-API, um eine Kik-Webseite zu erstellen, wenn dies von Bedeutung ist.

0
Jacob Pickens 18 Aug. 2015 im 21:41

3 Antworten

Beste Antwort

Versuchen Sie dies, ich denke, Sie wurden mit der $ .post-Syntax verwechselt

$.getJSON('http://garbagewire.tk/server/refresh.php?user=jacob.pickens', function(data) {
    console.log(data.ammount);
});
1
joyBlanks 18 Aug. 2015 im 18:43

Sind Sie sicher, dass Sie jQuery richtig laden? Versuchen Sie es mit jQuery.ajax. Sie sollten in der Lage sein, Daten über getJSON zu übertragen

http://api.jquery.com/jquery.getjson/

$.getJSON( "test.js", { name: "John", time: "2pm" } )
   .done(function( json ) {
   console.log( "JSON Data: " + json.users[ 3 ].name );
})
.fail(function( jqxhr, textStatus, error ) {
   var err = textStatus + ", " + error;
   console.log( "Request Failed: " + err );
});

Sie können auch echo json_encode(['amount'=>$user]) ausführen, anstatt die Zeichenfolge selbst zu erstellen und dieselbe Ausgabe zu erhalten.

2
Mike 18 Aug. 2015 im 18:51

Wenn Sie möchten, können Sie Ihre Parameter über die URL übergeben

$.getJSON('http://garbagewire.tk/server/refresh.php?user=jacob.pickens', function(data) {
    console.log(data.ammount);
});
1
Monkey 18 Aug. 2015 im 19:29