1
我不能,因爲我不斷收到這個錯誤讓我全功能的API調用 -就無法解決問題CORS
angular.js:9827 **OPTIONS http://xyz.mybluemix.net/add_user** (anonymous function)
@ angular.js:9827sendReq @ angular.js:9628serverRequest
@ angular.js:9344processQueue @ angular.js:13189(anonymous function)
@ angular.js:13205Scope.$eval @ angular.js:14401Scope.$digest
@ angular.js:14217Scope.$apply @ angular.js:14506(anonymous function)
@ angular.js:16232completeOutstandingRequest
@ angular.js:4905(anonymous function)
@ angular.js:5285
welcome.html:1 **XMLHttpRequest cannot load http://xyz.mybluemix.net/add_user.
Response to preflight request doesn't pass access control check:
No 'Access-Control-Allow-Origin' header is present on the requested resource.
Origin 'http://localhost:9000' is therefore not allowed access.
The response had HTTP status code 502.**
這裏是我運行代碼:
//Client side code (Angular JS)
dataFactory.makeUser(user)
.then(function (response) {
console.log('User created');
window.location = "index.html";
}, function(error) {
console.log('User failed to create: ' + error.message);
});
app.factory('dataFactory', ['$http', function($http) {
var base = 'xyz';
var dataFactory = {};
//works fine
dataFactory.getAllUsers = function() {
return $http.get(base+"get_all_users");
};
//works fine
dataFactory.getUserById = function (id) {
return $http.post(base+"get_user_byId", id);
};
//the request with the problem
dataFactory.makeUser = function (user) {
return $http.post(base+"add_user", user);
};
return dataFactory;
}]);
//Server-side code
var express = require('express');
var bodyParser = require('body-parser');
var mysql = require('mysql');
var app = express();
var cors = require('cors');
app.use(cors());
app.post('/add_user', function(req, res) {
var id = req.body.id;
var name = req.body.name;
var gender = req.body.gender;
var email = req.body.email;
var age_min = req.body.age_min;
var age_max = req.body.age_max;
var hometown = req.body.hometown;
var picture = req.body.picture;
var user = {
id: id,
name: name,
gender: gender,
email: email,
age_min: age_min,
age_max: age_max,
hometown: hometown,
picture: picture
};
connection.query('INSERT INTO users SET ?', user, function(err, rows) {
if (err) {
res.json(err);
return;
}
res.json(rows);
});
});