2016-09-21 11 views
0

でasp.netのWeb APIを使用していたときにこれが私のプロジェクトは、私はMVC

function GetData() { 
       debugger; 
       var url = 'http://localhost:50951/api/Home'; 
       $.ajax({ 
        type: "GET", 
        url: url, 
        dataType: "json", 
        success: function (data) { 
         alert("Success Message"); 
        }, 
        error: function (error) { 
         alert("Error Message"); 
        } 
       }); 
     } 

の私のJavascriptであり、これは私のWEBAPIコード

public class HomeController : ApiController 
      { 
       public IEnumerable<KeyValuePair<string, string>> Index() 
       { 
        List<KeyValuePair<string, string>> listString = new List<KeyValuePair<string, string>>() 
        { 
         new KeyValuePair<string, string> ("India","India"), 
         new KeyValuePair<string, string> ("Australia","Australia"), 
        }; 
        return listString; 
       } 
      } 

でJSONのresponceにリストデータを取得していません私がGetData関数を起動すると、APIが呼び出され、list.Butを返します。javascriptでエラーメッセージが表示されます.Itsは成功しません。 APIを使用しているときにjosn応答でリストデータを取得する方法はありますか。

+0

エラーメッセージは何ですか? – Mostafiz

+0

jsonで返します –

+0

respondsetextが空です – sadasiva

答えて

0

がどちらか、ウェブAPIのGet方法を必要とするGet()としてIndex()の名前を変更するか、それが

public class HomeController : ApiController 
     { 
      [HttpGet] 
      [Route("api/Home")] 
      public List<KeyValuePair<string, string>> Index() 
      { 
       List<KeyValuePair<string, string>> listString = new List<KeyValuePair<string, string>>() 
       { 
        new KeyValuePair<string, string> ("India","India"), 
        new KeyValuePair<string, string> ("Australia","Australia"), 
       }; 
       return listString; 
      } 
     } 

以下のように取得を示すために、Index()メソッドの前に[HttpGet]属性を使用する必要がありますので、あなたがGetメソッドを使用して要求しているとURL

var url = '/api/Home'; 
+0

[HttpGet]を使用して出力が得られなくてもエラーになります:function(error){ alert( "エラーメッセージ"); } – sadasiva

+0

更新しようとしました – Mostafiz

+0

[ルート( "api/Home")]を与える必要がある理由は何ですか?私がjavascriptからapiを呼び出すと、apiが呼び出していてlistを返します。しかし、javascriptでは、それは機能しません。 – sadasiva

関連する問題