Node.js 访问控制不允许允许源问题

Node.js 访问控制不允许允许源问题,node.js,cross-domain,wamp,Node.js,Cross Domain,Wamp,我正在将一些数据从客户端发布到服务器端的脚本,但我仍然得到以下信息: OPTIONS http://localhost/site/dbs.js Origin http://localhost:8080 is not allowed by Access-Control-Allow-Origin. jquery.js:9597 XMLHttpRequest cannot load http://localhost/site/dbs.js. Origin http://localhost:8080 i

我正在将一些数据从客户端发布到服务器端的脚本,但我仍然得到以下信息:

OPTIONS http://localhost/site/dbs.js Origin http://localhost:8080 is not allowed by Access-Control-Allow-Origin. jquery.js:9597
XMLHttpRequest cannot load http://localhost/site/dbs.js. Origin http://localhost:8080 is not allowed by Access-Control-Allow-Origin.
server.js没有运行node.js(path/wamp/www/site/server.js)

index.htmlajax()中,我调用将一些数据发布到dbs.js:

$.ajax({
        type: "POST",
        url: " http://localhost:80/site/dbs.js",
        data: "name="+username+"&pwd="password,
        succes: function(ret)
        {
          if(ret==0)
            ;
        }
      });
dbs.js:

var name;
var pwd;
function DbConn()
{
            var mydb = mysql.createConnection({
              host: 'localhost',
              user: 'root',
              password: 'admin123',
              database: 'users'
            });

            mydb.connect();

            var query = ('select passwd from peer where username=' + username);

            console.log(query);

            connection.end(function(err) {
              // The connection is terminated now
            });
}
如果我更改URL中的某些内容,我会得到一个错误:404-找不到“dbs.js” 所有源都位于一个文件夹(wamp/www/site/)中。
您认为有必要在dbs.js中添加一些XML头吗?

本地主机、ajax调用(和chrome)存在一个常见问题,这些问题会导致出现错误。请看一看相关的问题,特别是这一个:

我不得不与这个错误斗争了一段时间,但最终还是克服了它。我遇到这个错误是因为我试图在不同的域之间创建一个SocketIO连接。做了一些研究,发现浏览器不喜欢在呈现html页面中发出任何跨域请求(ajax、套接字…)。事实证明,服务器(我们向其发出非法请求的服务器)必须允许此功能

在您的情况下,请在所有路由之前尝试使用express中间件:

//Gloabal middleware
app.get('/*',function(request,response,next){
  response.header('Access-Control-Allow-Origin' , 'http://domain' );
  response.header('Access-Control-Allow-Credentials', true);
  next();
});

检查这个问题,我刚才看到你的ajax调用,调用端口80。但是在server.js中,您可能正在8080端口下注册它。您应该仔细检查服务器正在侦听的端口,并相应地更正ajax。
//Gloabal middleware
app.get('/*',function(request,response,next){
  response.header('Access-Control-Allow-Origin' , 'http://domain' );
  response.header('Access-Control-Allow-Credentials', true);
  next();
});