0

我注意到 AngularJS 需要后端服务器的 javascript 结果。

示例中的当前服务器返回angular.callbacks._0({"key": "value"});javascript 标头。如何在 Rails 上以相同的格式返回?谢谢!

AngularJShttp://echo.jsontest.com/key/value?callback=angular.callbacks._0默认从该请求生成链接

这是我的工作示例:

<!DOCTYPE html>
<html ng-app="Simple">
<body>
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/angularjs/1.0.7/angular.min.js"></script>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.0.7/angular-resource.min.js"></script>
<div ng-controller="SimpleController">    
    {{some_item.key}}
</div>
<script>
angular.module('Simple', ['ngResource']);
function SimpleController($scope, $resource) {
    $scope.simple = $resource('http://echo.jsontest.com/key/value',
        {callback:'JSON_CALLBACK'},
        {get:{method:'JSONP'}}
    );
    $scope.some_item = $scope.simple.get();
    console.log($scope.some_item.key);
}   
</script>
</body>
</html>
4

1 回答 1

1

只要您有一个响应 JSON 的 RESTful 控制器,它就可以正常工作。

class ArticlesController < ApplicationController
  respond_to :json

  def index
    articles = Article.all
    respond_with articles
  end

  def get
    article = Article.find(params[:id])
    respond_with article
  end

  # etc.
end

您可以限制使用返回的属性respond_with article, include: {:id, :title, :description}

于 2013-09-01T16:00:39.447 回答