Pencilblue - 控制器endpont不允许来源

时间:2015-08-07 06:53:34

标签: ajax cors pencilblue

我正在使用pencilblue开发API,一切正常,直到我向此端点发出AJAX请求。

我总是得到一个"来源不被允许"错误。

有没有办法用Pencilblue启用CORS?

1 个答案:

答案 0 :(得分:2)

您可以通过创建自己的控制器来实现此目的:

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;
};