【发布时间】:2016-04-29 22:04:51
【问题描述】:
搜索结果我正在用 javascript 做一些事情,我需要在后端执行一些操作我决定让 apiweb 联合国,当我发出 ajax 请求时问题就来了,因为返回(用 c# 制作)连运行数据都采集失败的方法。
他做的第一件事是路由Web API para Calling Methods Specific Power,我在WebConfig中做了如下:
<code>
config.Routes.MapHttpRoute(
name: "DefaultApiRouted",
routeTemplate: "api/{controller}/{action}/{param}",
defaults: new { param = RouteParameter.Optional }
);</code>
在这个操作之后,我决定在 ValuesController 中创建一个特定的方法,它继承自 ApiController :
<code>
[HttpGet]
[HttpPost]
public IHttpActionResult Prueba([FromBody]Persona data)
{
return Ok(new { message = "Llego" });
}
public class Persona
{
public string username { set; get; }
public string email { set; get; }
public string password { set; get; }
}</code>
我浏览了很多页面并尝试了很多示例,但没有让那个人输入值,我执行了该方法但那个人为空,相反我也尝试了 ICustomFormater , string 等。所有这些我也得到了同样的结果,方法被执行但不接受输入值。
从 Javascrpt 发送如下
<code>var Persona = new Object()
Persona.username ="Pepe";
Persona.email ="Pepe@pepe.com";
Persona.password ="12345";
$.ajax({
url: "http://localhost:5311/api/values/Prueba",
contentType: "application/json",
dataType: "json",
data: Persona,
type: 'POST',
success: function (json) {
alert(json.message)
},
error: function (xhr, status) {
alert("He petao")
},
complete: function (xhr, status) {
}
});</code>
El resultado que me envia la webApi hacia el js si la recibo bien y en formato JSOn pero es que a la inversa no soy capaz de recoger el valor, si alguien puede ayudarme se lo agradecería mucho。
【问题讨论】:
-
您需要编辑才能翻译成正确的英文最后一段
标签: json asp.net-web-api2