0

私はローカルホストでテストしており、奇妙なモジュールCORSを使用しています... access_tokenを取得するためのPOST ajax呼び出し(モジュール node-oauth2-server を使用)は成功しますが、リソースにアクセスしようとすると、ajax呼び出しが失敗します(オリジン...アクセスによって許可されていません-Control-Allow-Origin) ルーティングに何か問題があると思います...

var express = require('express'),
cors = require('cors'),
http = require('http'),
https = require('https'),
fs = require('fs'),
oauthserver = require('node-oauth2-server'),
categories = require('./models/category'),
products = require('./models/product');

var server_options = {
key: fs.readFileSync('/etc/ssl/self-signed/server.key'),
cert: fs.readFileSync('/etc/ssl/self-signed/server.crt')
};

var app = express();

//app.use(require('cors')());
app.use(require('browser-logger')());

app.use(cors()); // automatically supports pre-flighting
app.use(app.router);

app.configure(function() {
  var oauth = oauthserver({
    model: require('./models/oauth_mongodb'),
     // See below for specification
    grants: ['password', 'refresh_token'],
    accessTokenLifetime: 2592000,  // 30 days
    debug: true
});
app.use(express.bodyParser()); // REQUIRED
app.use(oauth.handler());
app.use(oauth.errorHandler());
});

// categories
app.get('/categories/:id', categories.findById);
app.get('/categories', categories.findAll);

// products
app.get('/categories/:id/products', products.findByCategory);
app.get('/products/:id', products.findById);
app.get('/products', products.findAll);

https.createServer(server_options,app).listen(8000, 'node_ssl_server.local');
http.createServer(app).listen(3000, 'node_ssl_server.local');
4

1 に答える 1

1

推測ですが、あなたの ajax 呼び出しはおそらく次の場所から発信されていると思います。

http://localhost:3000/ 

と指差し

https://localhost:8000/

クロス ドメイン エラーを回避するには、ブラウザーの更新が必要になる場合があります。

于 2013-10-16T23:50:43.377 に答える