由于浏览器为避免XSS攻击而采取的安全预防措施,我似乎遇到了很多麻烦。

基本上,我在Heroku上有一些公开的api,即:myapi.herokuapp.com/get/stories,但是当尝试通过Client.htmlXMLHttpRequest从桌面上的普通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"

09-25 16:45