2

我正在尝试创建一个非常基本的小骨干应用程序,该应用程序显示来自我公司Harvest帐户的统计信息。他们有一个 REST API,通过 Basic Auth 或 oAuth 进行身份验证。我似乎在这里面临两个问题:

  • 验证
  • 跨域请求

所以我开始将我的收藏的 url 设置为相应的 url:

var Projects = Backbone.Collection.extend({
    url: 'https://mycompany.harvestapp.com/projects',
});

而且我已经尝试使用这个基本的身份验证插件,但我无法判断该部分是否正常工作,因为我仍然遇到 Access-Control-Allow-Origin 错误。

解决这个问题的最佳方法是什么?

4

1 回答 1

2

另一个 StackOverflow 问题与此类似,并且您应该查看更多详细信息。

但一般的想法是,如果您无权访问远程服务器(我认为您没有 Harvest),那么您需要从您自己控制的服务器执行跨站点请求,很可能是您正在部署此主干应用程序的一个。这意味着编写一些服务器端代码(PHP、Node 等)来执行请求(从服务器端完全合法),然后让您的客户端(Backbone 应用程序)从这些脚本发出请求。

这是 php 的简短/伪示例:

请求.php

<?php
    echo file_get_contents('https://mycompany.harvestapp.com/projects');
?> 

项目.js

var Projects = Backbone.Collection.extend({
    url: 'request.php',
});
于 2013-04-30T23:22:55.523 回答