Glassdoor APIに対するAngularJSの呼び出しに問題があります。それは私に与えることを続ける要求されたリソースに「Access-Control-Allow-Origin」ヘッダーが存在しません。
$http.get('https://api.glassdoor.com/api/api.htm?t.p=P_KEY&t.k=KEY&userip=0.0.0.0&useragent=&format=json&v=1&action=employers&q=ibm').then(function(resp) {
console.log(resp.data);
$scope.employers = resp.data;
}, function(error, resp) {
console.log(error, resp);
});
具体的にはリンクをクリックしても、通話はしません。
CORSを処理するServer.js。
var express = require('express');
var mysql = require('mysql');
//var bodyParser = require('body-parser'); // pull information from HTML POST (express4)
var app = express();
var cors = require('cors');
var serveStatic = require('serve-static');
var data = '';
var connection = mysql.createConnection({
host: 'localhost',
port: '3306',
user: 'root',
password: '',
database: 'jobs'
});
//app.use(cors({origin: 'http://localhost:YOUR_PORT'}));
app.use(function(req, res, next) {
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
next();
});
app.use(serveStatic(require("path").join(__dirname, "/views"))); // Serves everything in the views directory
// Example: url.com/css/style.css serves views/css/style.css
app.get('/api/jobs', function(req, res, next) {
connection.query('SELECT * FROM jobs ORDER BY company ASC', function(err, results) {
if (err) {
console.log('There was a problem reading from jobs database :' + err.stack);
res.sendStatus(500).send('There was a problem reading from jobs database');
return;
}
console.log('results:', results);
res.send(results);
});
});
app.post('/api/jobs_post', function(req, res, next){
});
var server = app.listen(8081, function() {console.log("Running")});
var gracefulShutdown = function() {
console.log('Shutting down');
server.close(function() {
console.log('Closed out remaining connections');
});
connection.end(function(err) {
if (err) {
console.log('There was an error closing the connection to jobs database: ' + err.stack);
} else {
console.log('Connection terminated successfully!')
}
});
}
process.on('SIGTERM', gracefulShutdown); // Server is killed
process.on('SIGINT', gracefulShutdown); // Ctrl-C is pressed in the terminal
これは私の個人的な楽しみのプロジェクトです:あなたは、したがって、クロスオリジン・エラー「許されない」、ブラウザから直接GlassdoorのAPIを呼び出しているhttps://csjobsco-gchavez1011.c9users.io:8081/index.html
CORSの問題のように聞こえる、https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS#Access-Control-Allow-Origin – httpNick
私のサーバーから来るだろうか?私はすでにコルズの問題に「対処」しています。 – user3561871