2016-05-26 9 views
0

Там находится следующая модель AmpersandJSПерекрестной происхождении из AmpersandJS

var AmpersandModel = require('ampersand-model'); 

module.exports = AmpersandModel.extend({ 
    urlRoot: 'http://0.0.0.0:4567/api/v1/people', 
    props: { 
     id: 'any', 
     name: ['string', true, ''], 
     wins: ['number', true, 0], 
     draws: ['number', true, 0], 
     looses: ['number', true, 0] 
    }, 

    ajaxConfig: function() { 
     return { 
      headers: { 
       'Access-Control-Allow-Origin': '*', 
       'Access-Control-Allow-Methods': "GET, POST, PUT, DELETE, OPTIONS", 
       'Access-Control-Allow-Headers': "accept, authorization, origin" 
      }, 
      xhrFields: { 
       'withCredentials': false 
      } 
     }; 
    } 
}); 

Когда «сохранить» называется на модели, метод запроса преобразуется в ВАРИАНТЫ и появляется очевидная ошибка

Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at http://0.0.0.0:4567/api/v1/people. (Reason: CORS header 'Access-Control-Allow-Origin' missing). 

Любой идея как этого избежать?

+0

Это не имеет особого отношения к ampersand.js. 'Access-Control-Allow-Origin' и другие заголовки должны быть отправлены сервером, к которому вы пытаетесь получить доступ. См. Http://enable-cors.org/server.html, например – amberv

+0

, они установлены правильно в соответствии с документацией. – MikeZ

+0

Ваш сервер должен обрабатывать запрос предварительной проверки CORS. Очевидно, это не делается. Все заголовки «Access-Control- *», которые вы отправляете из браузера, не нужны, и вы должны удалить их. Ваш _server_ должен отправить эти заголовки. –

ответ

1

Я считаю, что здесь случается, что сервер не отправляет правильные заголовки. Модели не нужно определять какие-либо заголовки, связанные с CORS, поскольку браузер в большинстве случаев будет отправлять соответствующие заголовки запросов.

Как вы можете видеть на CORS Headers overview, заголовки, которые вы определили в своем ajaxConfig, - это те, которые сервер должен отправить в ответ, чтобы разрешить запрос на кросс-исход.

 Смежные вопросы

  • Нет связанных вопросов^_^