2016-09-21 13 views
0

2つのプロジェクトを取りました。 1つはapis用、もう1つはapiresultを表示するためのものです。APIの戻り値が返されない

この私のAPIコントローラ:

public class HomeController : ApiController 
    { 
     [HttpGet] 
     public string Index() 
     { 
      return "Hello world"; 
     } 
    } 

と、これは私の表示コントローラである:

 public ActionResult Index() 
     { 
      return View(); 
     } 

とインデックスコントローラのビューがのように怒鳴るです:

@{ 
    ViewBag.Title = "Index"; 
} 

<h2>Index</h2> 

<input type="submit" value="Get Value" id="btnSubmit" onclick="GetData();" /> 

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.2/jquery.min.js"></script> 
<script type="text/javascript"> 
    function GetData() { 
     var uri = 'http://localhost:50951/api/Home'; 
     $.ajax({ 
      url:uri, 
      type: "Get", 
      dataType: "JSON", 
      success: function (data) { 
       alert(data); 
      }, 
      error: function (xhr, status, error) { 
       alert("error"); 
      } 
     }); 
    } 
</script> 

私はクリックしてくださいapiを呼び出しているGetDataボタンとapiは文字列値を返します。しかし、JavaScriptで私はAPIの戻り値を取得していませんでした。

+0

APIソリューションとMVCソリューションは別々のプロジェクトですか? –

+0

ブラウザのコンソールにエラーがありますか? – Curt

答えて

0

のいずれかを実行します。

1)にIndex()メソッドを編集します。

[HttpGet] 
public JsonResult Index() 
{ 
    return Json("Hello world", JsonRequestBehavior.AllowGet); 
} 

または

2)jqueryのAJAX呼び出しからdataType: "JSON"を削除します。

+0

dataTypeを削除しようとしました: "JSON"しかし、私はまだAPIの戻り値を取得しませんでした – sadasiva

+0

ChromeまたはFirefoxで 'http:// localhost:50951/api/Home'を参照するとどうなりますか? – Frits

+0

Hello World sadasiva

関連する問題