0

AngularJS では、バックエンド サーバーからの JavaScript の結果が必要であることに気付きました。

この例の現在のサーバーは、angular.callbacks._0({"key": "value"});javascript ヘッダーを返します。Railsで同じ形式で返品するにはどうすればよいですか? ありがとう!

AngularJS はhttp://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 に答える