10

ここに質問を投稿するのはこれが初めてです。私はほとんど他の質問に忍び寄る潜伏者でしたが、これは私が理解しようとしてきたことであり、私の人生ではできません。

基本的に私がやっていることは、クライアント側から AJAX を使用してサーバーにホップし、データを提供する外部 API を検索するコードを実行し、そのデータをクライアントに返す必要があることです。これが私のコードです...これはすべてexpressでnode.jsを使用しています

クライアント側

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

サーバ側

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

#search ボタンをクリックすると、サーバーにアクセスしてそのコードが正常に実行されることがわかりました。しかし、そのデータをサーバーから取り出してクライアントに戻し、そこで作業する方法がわかりません。

res.send/res.write/res.end などについて言及している他の投稿を見つけました。私の知る限り、それらのすべての形式を試しましたが、そのデータをクライアントに戻すことはできません。

これを行うためのヒントやおそらくより良い方法は、非常に高く評価されます。

4

1 に答える 1

5

次のコード サーバー側を試してください。

app.get('/search', function(req, res){
    factual.get('/t/places',{q:'starbucks'}, function (error, data) {
      console.log(data);
      res.writeHead(200, { 'Content-Type': 'application/json' }); 
      res.end(JSON.stringify(data));
    });
});

それはうまくいくはずです。コードのクライアント側は問題ないようです。

編集:次も使用できます:

res.json(data);
于 2013-05-12T16:25:55.320 に答える