3

Web API を使用するのはこれが初めてです。jquery ajax 呼び出しで Web API を呼び出そうとしています。ajax 呼び出しは Web API アクションに正常にヒットしますが、文字列パラメーター "xx" は常に null です。

Ajax 呼び出し

 var x = "chamara";
   $.ajax({
   type: 'POST',
   url: 'http://localhost:1557/api/values/mytest',
   data: '{"xx":"' + x + '"}',
   dataType: 'json',
   }); 

Web API アクション。

[AcceptVerbs("GET", "POST")]
 public void mytest([FromBody]string xx)
 { 
  string a = xx;

 }

Web API ルート構成。

config.Routes.MapHttpRoute(
            name: "DefaultApi",
            routeTemplate: "api/{controller}/{action}/{id}",
            defaults: new { action = "get", id = RouteParameter.Optional }
            );
4

2 に答える 2

2

これを試して:

var x = "chamara";
$.ajax({
    type: 'POST',
    url: 'http://localhost:1557/api/values/mytest',
    data: { '' : x },
    dataType: 'json',
}); 

私も今朝同じ目に遭いました。理由はわかりませんが、もっと良い方法があるはずだと思いますが、うまくいきました。

または、解決策が を に設定することを提案するこの SO の質問を参照してください。contentTypeapplication/json

于 2013-07-19T03:54:45.110 に答える