我的网络(客户端)中的其中一台计算机正在向我的$.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
我们发出$.ajax()
请求时,我们在php文件中使用echo
将数据发送回客户端,
如果我想将数据发送回客户端,我应该在Nodejs (listener.js file)
的服务器端做什么?
答案 0 :(得分: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);
答案 1 :(得分:0)
我自己解决了这个问题。
问题在于跨域ajax请求。
我不知道为什么会发生这种情况,即使我在url:localhost:8080
电话中指定了$.ajax
...
解决了我添加的问题
response.setHeader("Access-Control-Allow-Origin", "*");
在我的回复标题中。
和平