mithilfe von jquery-AJAX-mit node.js mit dem response vom server

dies ist meine erste mal eine Frage hier, ich habe meist nur ein lurker schleicht auf andere Fragen, aber das ist etwas, was ich versucht habe, um herauszufinden, und für das Leben von mir kann nicht.

Im Grunde das, was ich Tue, ist die Verwendung von AJAX auf der Clientseite zu hüpfen über die server, ausführen von code, der durchsucht eine externe API, die gibt mir ein paar Daten, dann brauche ich diese Daten zurück an den client. Hier ist mein code... das ist alles mit node.js mit express

Client-Seite

$('#search').click(function(){
        $.ajax({
          type: "GET",
          url: "/search",
          dataType: "json"
        }).done (function (data) {
          alert(data);
        });
    });

Server-Seite

app.get('/search', function(req, res){
        factual.get('/t/places',{q:'starbucks'}, function (error, data) {
          console.log(data);
          res.send(data);
        });
  });

Jetzt weiß ich, dass wenn die #Schaltfläche suchen angeklickt wird, es geht mehr um die server und erfolgreich läuft, dass code. Aber ich weiß nicht, wie zu bekommen, dass die Daten aus dem server und wieder in den client, mit ihm zu arbeiten gibt.

Fand ich andere Beiträge, die Dinge erwähnt, res.senden/res.schreiben/res.Ende, ich habe versucht, jede form von denen, meines Wissens nach, und ich kann nie scheinen, um Daten zurück an den client.

Irgendwelche Tipps oder eventuell bessere Möglichkeiten, dies zu tun, würde sehr geschätzt werden.

  • Die content-type-header application/json
  • Dein code sieht einfach nur gut. Hier ist ein gist können Sie Folgendes versuchen: legen Sie beide Dateien in dasselbe Verzeichnis, starten Sie den server (node app.js) und öffnen http://localhost:3012/. Es nicht umzusetzen factual.get(), obwohl, und ich würde empfehlen, dass Sie überprüfen error zu sehen, ob irgendwelche Fehler auftreten, die möglicherweise Probleme verursachen.
  • Dank Ihrer kleinen test robertklep, du hast Recht, mein code ist alles völlig in Ordnung, selbst mit den Fakten.get() implementiert. Also das Problem scheint irgendwo anders zu sein...
  • Sie müssen irgendeine Art von Assistenten robert, da ich nichts verändert habe, aber es funktioniert jetzt. Und zu kommentieren, was lib3d sagte, Sie don ' T müssen Sie die header-Typ, wenn Sie Sie senden, json, weiß er es json.
  • wenn res.senden weiß, es ist json, wenn die Daten json, was ist der Unterschied mit res.json ? Ich bin mal gespannt.
  • res.send wird versuchen zu erraten, den Inhaltstyp auf der Grundlage der Argumente, die es übergeben wird. Intern res.send Anrufe this.json wenn es für angemessen erachtet. Siehe: github.com/visionmedia/express/blob/master/lib/...
  • Auch Kasse die Unterlagen für die express hier expressjs.com/api.html#res.json, res.json stellt die Dinge in json, so übergeben Sie in etwas, das bereits json hat den gleichen Effekt wie mit res.senden, res.senden Sie Lesen können, was der Inhalt ist

InformationsquelleAutor ribsies | 2013-04-14
Schreibe einen Kommentar