2016-12-15 17 views
0

C#コントローラの関数を呼び出して値を渡そうとしていますが、次のエラーが表示されています: 'プロパティを取得できません'、 '未定義またはnull参照'です。 ドライバモデルも追加しました。 ご協力いただきありがとうございます。コントローラの関数を呼び出し、値を渡します。

JS

function getDrivers(lastName) 
{ 
    console.log(lastName); 
    return $http.post(baseUrl + 'Admin/getDrivers', { lastName: lastName }) 
    .success(function (data, status, headers, config) { 
     console.log(1); 
    }).error(function (data, status, header, config) { 
     console.log(2); 
    }); 
} 

C#コントローラ

[HttpPost] 
     public JsonResult getDrivers(DriverModel model) 
     { 

      JsonResult jsonResult = new JsonResult(); 
      try 
      { 
       jsonResult.Data = model.GetDrivers(model.lastName); 
       return jsonResult; 
      } 
      catch (Exception ex) 
      { 
       return jsonResult; 
      } 
     } 

HTML

vm.getMatches = function (searchText) { 
if (searchText.length > 1) 
{ 
    getDrivers(searchText); 
} 
+0

ここに投稿したコードには、エラーはありません。一度確認できますか。 –

+0

ありがとうございます。私のコードの残りの部分を追加しました。 – user6934713

+0

'DriverModel'のコードを投稿できますか? – nurdyguy

答えて

1

"lastname"という名前のパラメータでgetDrivers関数を見つけることを期待してgetDrivers関数がポストされているため、コントローラにアクセスできない可能性がありますが、コントローラのパラメータの名前は "model"よく

1

$ http約束コールバックが値を返していません。これは、あなたがおそらくそれを返すことを約束するのではなく、undefinedを返すことを意味します。

さらに、およびerrorの代わりにthenおよびcatchが推奨されていません。あなたが考えたいと思うかもしれない何か。

+0

ありがとう。私のhttpポストは、コントロール内の関数に全く当たらない。何故ですか? – user6934713

+0

あなたはC#コントローラを意味しますか?投稿はサーバーに当たっていませんか?私はそれがなぜだろう、あなたが正しいエンドポイントを打っていることを確認するために、クロム開発ツールのネットワークタブをチェックしているか分からないのですか? –

関連する問題