由于浏览器为避免XSS攻击而采取的安全预防措施,我似乎遇到了很多麻烦。
基本上,我在Heroku上有一些公开的api,即:myapi.herokuapp.com/get/stories
,但是当尝试通过Client.html
或XMLHttpRequest
从桌面上的普通WebSocket
文件发出此类请求时,我得到了NS_ERROR_DOM_BAD_URI
或其变体。
我是否想做些荒谬的事情?
最佳答案
不,这不是荒谬的。如果您已为此类请求配置了API和客户端,则应该可以很好地访问它。作为参考,这是我的一些(有效)设置,我的API托管在Heroku上,可从localhost访问
API(后端)
server.connection {
port: process.env.PORT
routes:
cors:
origin: ['*']
credentials: true
additionalHeaders: ['X-Requested-With']
}
角度(前端)
angular.module('app.core').config ($locationProvider, $stateProvider, $urlRouterProvider, $httpProvider, $cookiesProvider) ->
$locationProvider.html5Mode true
## Configure CORS
$httpProvider.defaults.useXDomain = true
$httpProvider.defaults.withCredentials = true
delete $httpProvider.defaults.headers.common["X-Requested-With"]
$httpProvider.defaults.headers.common["Accept"] = "application/json"
$httpProvider.defaults.headers.common["Content-Type"] = "application/json"
# $httpProvider.defaults.headers.common["X-Requested-With"] = "XMLHttpRequest"