0

================================================== =========================

更新 1 修正されたコードは、次の新しいエラーを生成します

ReferenceError: inputName is not defined

の行で

 inputName:inputName,

以下は新しいコードです

<script src="/library/angularjs/1.2.0-rc.3/angularjs.js"></script>
<script src="/library/angularjs/1.2.0-rc.3/angular-route.js"></script>
<script src="/library/angularjs/1.2.0-rc.3/angular-resource.js"></script>
<script>
var app= angular.module('myApp', ['ngRoute', 'ngResource']);
app.factory('Greeter', ['$resource',function($resource){
  return $resource(
    'http://123.com/processor.php',
    {
      inputName:inputName,
      callback: 'JSON_CALLBACK'

    },
    {
      query: {method:'GET',isArray:true}
    });
}]);

app
.controller('MyCtrl', ['$scope', 'Greeter',
  function($scope,Greeter){
  /*alert("yes");*/
  $scope.greet = function(){
    //alert("greetttt");
    alert("before greeeter"+$scope.inputName);
    Greeter.query(
      {inputName:$scope.inputName},
      function(response){
        alert(response[0].myCodeId);
        $scope.output=response[0].myCodeId;
      }
    );
  };
}]);
</script>
<div ng-app="myApp">
  <div ng-controller="MyCtrl">
  Your name:
    <input type="text" ng-model="inputName" name="myInput" value="World"/>
    <button ng-click="greet()">greet</button>

  <div>
  Test Output Here

    {{output}}

  </div>
  </div>
</div>

どこを間違えたんだろう?

ありがとう

4

2 に答える 2

1

http://plnkr.co/edit/CKgWrson3IbMugRKdX5p?p=preview

他の人がコメントで指摘した、私が修正したいくつかの問題。

工場から $scope を削除します。ここでは、一般的な $scope オブジェクトを取得していますが、実際のスコープは取得していません。コントローラーでそれを取得します。query() で角度リソースを呼び出すと、最初の引数はすでにパラメーターです。ただし、以前と同じように共通パラメーターを指定できます。

function($resource) {
  return $resource('mocked-resource.json', {
    callback: 'JSON_CALLBACK'
  }, {
    query: {
      method: 'GET',
      isArray: true
    }
  });

お役に立てれば。

于 2014-08-01T17:01:50.793 に答える
0
inputName:inputName,

2 番目の inputName は、存在しない変数を参照しています。この線は完全に削除できると思います。しかし、それはあなたが何を達成したいかによります。

于 2014-08-01T16:59:09.123 に答える