Pencilblue - происхождение не разрешено для конечного элемента контроллера

Я разрабатываю API с использованием карандаша, все работает нормально, пока я не сделаю AJAX-запрос к этой конечной точке.

Я всегда получаю ошибку "происхождение не разрешено".

Есть ли способ включить CORS с помощью карандаша?

1 ответ

Вы можете сделать это, создав собственный контроллер:

https://github.com/pencilblue/pencilblue/wiki/Quickstart:-Controllers

И там добавить соответствующие заголовки для CORS. Например, что-то вроде:

module.exports = function (pb) {

    //PB dependencies
    var util           = pb.util;
    var BaseController = pb.BaseController;

    /**
     * CORS Controller
     */
    CorsController.prototype.render = function(cb) {

    // Add the CORS Header here
    var output = {
        code: 200,
        headers: {
              'Access-Control-Allow-Origin': '*'
        }            
    };
    this.ts.load('example_api_endpoint', function(error, result) {
        output.content = result;
        cb(output);
    });

   return CorsController;
};
Другие вопросы по тегам