我正在尝试创建一个非常基本的小骨干应用程序,显示来自我公司的Harvest帐户的统计信息。他们有一个REST API,可以通过Basic Auth或oAuth进行身份验证。我似乎在这里面临两个问题:
所以我开始将我的集合的url设置为相应的url:
var Projects = Backbone.Collection.extend({
url: 'https://mycompany.harvestapp.com/projects',
});
我已尝试使用this basic auth plugin,但我无法判断该部分是否正常工作,因为我仍然收到Access-Control-Allow-Origin错误。
最好的方法是什么?
答案 0 :(得分:2)
This other StackOverflow question类似,有更多细节,你应该看一下。
但总的想法是,如果您无法访问远程服务器(我认为您不使用Harvest),那么您需要执行您自己控制的服务器的跨站点请求,最有可能是你正在部署这个骨干应用程序的那个。这意味着编写一些服务器端代码(PHP,Node等)来执行请求(从服务器端完全合法),然后从这些脚本请求客户端(Backbone app)。
以下是php的简短/伪示例:
<强> request.php 强>
<?php
echo file_get_contents('https://mycompany.harvestapp.com/projects');
?>
<强> projects.js 强>
var Projects = Backbone.Collection.extend({
url: 'request.php',
});