Jquery expressjs POST响应不工作

Jquery expressjs POST响应不工作,jquery,post,express,Jquery,Post,Express,也许这很简单,但是下面的代码不起作用,expressjs服务器正在接收请求和数据,但是jqueryajax调用没有从服务器接收响应 这是服务器代码 app.get('/', function(req, res){ console.log('request for /'); res.send('hello there!'); }); 这是jQuery请求 $.ajax({ type: 'GET', url: 'http://localhost:3000/'

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

这是服务器代码

 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内容,问题仍然存在

问题是您没有按照下面的服务器代码结束连接。在app.get(“/”


请注意,结束而不是发送。

解决方案是允许跨域标头

      res.header("Access-Control-Allow-Origin", "*");
      res.header("Access-Control-Allow-Headers", "X-Requested-With"); 

如何广泛使用
JSON.stringify()
?此方法将从本机Javascript对象生成字符串。我只能在服务器端看到此方法的好处,因为客户端中的“数据”已经是字符串。如果成功,则应为
JSON.parse()
edited,如果没有JSON操作,问题就存在了。您如何尝试对express应用程序进行ajax调用(通过curl、浏览器开发工具等)?我只是想知道您的javascript代码在哪里执行,因为GET请求只返回“Hello here”我认为这可能是一个跨域的问题,但这只是一个疑问:)@CraigMacGregor将其粘贴到index.html文件中,并在chrome中运行,希望将其放入phonegap中app@EoinMurray所以这看起来确实是一个跨领域的问题。您可以考虑使用JSONP(例如$.ajax({dataType:“JSONP.”)进行此操作,或者从正在使用它的web服务器设置“Access Control Allow Origin”头(一些信息:)。我现在必须离开,很抱歉,我帮不上什么忙。希望这足以让您开始……)
      res.header("Access-Control-Allow-Origin", "*");
      res.header("Access-Control-Allow-Headers", "X-Requested-With");