Php Api和web应用程序在同一个项目中 编辑:

Php Api和web应用程序在同一个项目中 编辑:,php,web-services,api,laravel-4,cross-domain,Php,Web Services,Api,Laravel 4,Cross Domain,我采取了分离Api和Web应用程序的方法。但是,跨站点请求的问题仍然存在。这个编辑下面的问题现在有点无关紧要,除了跨站点请求问题仍然存在这一事实。我将把下面的问题留作参考,也许可以帮助其他人决定在这种情况下该怎么做 /编辑 我最近开始开发一个web应用程序,并打算开发移动应用程序,我想创建一个公共API。以下是我遇到的一些挑战: 该API实际上是从一个子域(API.example.com)提供的,这是一个问题,因为我无法进行跨站点请求。我提出的唯一解决方案是为api.example.com和非a

我采取了分离Api和Web应用程序的方法。但是,跨站点请求的问题仍然存在。这个编辑下面的问题现在有点无关紧要,除了跨站点请求问题仍然存在这一事实。我将把下面的问题留作参考,也许可以帮助其他人决定在这种情况下该怎么做

/编辑 我最近开始开发一个web应用程序,并打算开发移动应用程序,我想创建一个公共API。以下是我遇到的一些挑战:

该API实际上是从一个子域(API.example.com)提供的,这是一个问题,因为我无法进行跨站点请求。我提出的唯一解决方案是为
api.example.com
和非api路由添加路由,这样我就可以在没有跨站点请求的情况下进行调用,这实际上会引入大量冗余,而这不是我想要的路由(没有双关语)

下面是一个为API设置路由的小片段(我使用Laravel框架):

因此,正如您所看到的,我有一些路由,例如响应来自
api.example.com/v1/register
的请求。在web应用程序中,我使用ajax访问此API,但由于跨站点请求,对API的访问受到限制

解决方案可能是将web应用程序和api完全分离,但接下来我将如何着手解决跨站点请求问题?

请求的资源上不存在“Access Control Allow Origin”标头。因此,不允许访问源“”

此外,如果要将API与web应用程序分离,我必须在web应用程序中处理JSON(API返回JSON对象),而现在我只能处理实际对象

我对开发Web API非常陌生,我觉得我在这里没有什么收获,所以非常感谢您的帮助

编辑: 实际上,有一个非常类似的问题解决了同样的问题,可以在这里找到:

然而,我认为跨站点请求问题不是提问者的问题,因为他的API来自同一个域

Route::group(['domain' => Config::get('globals.API_URL_RAW'), 
              'namespace' => 'MySite\Api\v1', 
              'prefix' => 'v1'], function(){

    Route::post('/register', 'RegistrationController@store');

}