2016-09-21 13 views
0

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

+0

CORSの問題のように聞こえる、https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS#Access-Control-Allow-Origin – httpNick

+0

私のサーバーから来るだろうか?私はすでにコルズの問題に「対処」しています。 – user3561871

答えて

0


あなたはサーバーから、またはプロキシを介してコールをしなければなりません(私はそれがserver.jsのためだと思います)。

+0

あなたはサーバーコールでなければならないことに間違いありませんが、リクエストに応じて問題が発生しています。 – user3561871

関連する問題