0

ネットワーク内のマシンの1つ(クライアント)から、次のようにサーバーに$.ajax()リクエストを送信しています。Nodejs

//Client : index.html

$.ajax({
    type:"post",
    url:'http://192.168.2.6:8080',
    data:JSON.stringify({"loginData":{"uanme":"maverick","upass":"asd"}}),
    success:function(data){console.log(data);alert(data);},
    error:function(){alert('Error aala');}
});

そして私のNodejsサーバーは

//listener.js

var server = require('http').createServer(function (request, response) {
    var body='';
    if(request.method=='POST'){
       request.on('data',function(data){
            body+=data;
       });
       request.on('end',function(){
           console.log(body);
       });
    }
}).listen(8080);

これらconsole.log()は完全に正常に機能しています。ノード側で送信しているのとまったく同じデータを取得します。

さて、私の質問は、リクエストphpを行うときに、phpファイルでデータをクライアントに送り返すために使用します。$.ajax()echo

Nodejs (listener.js file)データをクライアントに送り返したい場合、サーバー側で何をする必要がありますか?

4

2 に答える 2

1
var server = require('http').createServer(function (request, response) {
    var body='';
    if(request.method=='POST'){
       request.on('data',function(data){
            body+=data;
       });
       request.on('end',function(){
           console.log(body);
           //response.setHeader("Content-Type", ""); set the header to your content type
           response.write('foo'); // <-----
           response.end('Dear client, I have cake for you'); // <-----
       });
    }
}).listen(8080);

Node.js のドキュメントをさらに読む

于 2013-02-15T12:51:51.133 に答える
0

この問題を自分で解決しました。

問題は、クロスドメイン ajax リクエストにありました。電話で指定url:localhost:8080したにもかかわらず、なぜこれが起こったのかわかりません...$.ajax

response.setHeader("Access-Control-Allow-Origin", "*"); 応答ヘッダーに追加する問題を解決しました 。

平和

于 2013-02-15T13:46:01.690 に答える