2016-05-13 4 views
0

次のコードサンプルでは、​​ "要求"を送信し、応答を取得しようとしていますが、 "未定義"値を返します。 これは.csファイルコントローラからhttp.post角の約束は "未定義"の値を返します。.NET MVC

  namecall: function (payload) { 
       return $http.post("/Api/PortalData/NameNumberResult", payload); 
      }, 

コードから

$scope.SameNameFunction = function() { 
      var payload = { itemname: $scope.EventDetails.Name}; 
      portalRepository.namecall(payload).then(function (payload) { 
       console.log(payload.valuesreturned); 
       alert("Detected: " + payload.valuesreturned + " events having the same name"); 
      }); 
     }; 

これまでのコードに私のコードです:

私は適切な値を取得していますブレークポイントを置く
public ActionResult NameNumberResult(ItemEventNameDTO payload) 
{ 
    var valuetosend = payload.itemname; 
    var acf = new AcFunctions(); 
    var newstorevalue = SqlHelper.ExecuteDataset(acf.AcConn(), "sp_selectbyname", valuetosend); 
    payload.valuesreturned = newstorevalue.Tables[0].Rows.Count; 
    return payload.GetSuccess(); 
} 

ストアドプロシージャから、.csと.jsファイルのいずれか。しかし、画面にメッセージを表示しようとすると、値が表示されず、代わりに「同じ名前の未定義イベントが検出されました」というメッセージが表示されます。 助けを歓迎します!

+1

のコールバックメソッドを使用する必要がpromise

namecall: function (payload) { return $http.post(url, payload); } 

を返却しているとして、あなたは 'portalRepository.namecall'に関連するコードを表示することができますか? – Satpal

+0

@Satpalそれはちょうどhttpのポストです、私は重要ではないと思う 'namecall:function(payload){ return $ http.post("/Api/PortalData/NameNumberResult "、payload); }、 ' – George

+0

@Saptal私は約束を返さない。私はコードを使ってやりたいことを書いていますが、その方法についてはわかりませんが、私はそれがjavacriptの約束で実装できると思います。 – George

答えて

2

あなたのコードごとに、あなたはあなたが$http.post()

portalRepository.namecall(payload).then(function(data){ 
    alert("Detected: " + payload.valuesreturned + " events having the same name"); 
}); 
関連する問題