1

也许这很简单,但是下面的代码不起作用,expressjs 服务器正在接收请求和数据,但是 jQuery ajax 调用没有收到来自服务器的响应

这是服务器代码

 app.get('/', function(req, res){
  console.log('request for /');
  res.send('hello there!');    
 });

这是 jQuery 请求

  $.ajax({
    type: 'GET',
    url: 'http://localhost:3000/',
    success: function(data) {
        alert(data);
    }
  });

这是 expressjs 应用程序配置

 app.configure(function(){
  app.set('port', /*process.env.PORT ||*/ 3000);
  app.set('views', __dirname + '/views');
  app.set('view engine', 'jade');
  app.use(express.favicon());
  app.use(express.logger('dev'));
  app.use(express.bodyParser());
  app.use(express.methodOverride());
  app.use(app.router);
  app.use(express.static(path.join(__dirname, 'public')));
 });  

编辑:取出 Json 的东西,问题仍然存在

4

2 回答 2

2

解决方案是允许跨域标头

      res.header("Access-Control-Allow-Origin", "*");
      res.header("Access-Control-Allow-Headers", "X-Requested-With"); 
于 2012-10-27T20:27:14.230 回答
0

问题是您没有在服务器代码中结束连接,如下所示。在 app.get('/', ...

res.end('hello there');

注意结束而不是发送。

于 2012-10-15T07:11:38.420 回答