将 asp.net mvc webapi 方法转换为 asp.net mvc 方法
Converting a asp.net mvc webapi method to asp.net mvc method
我在网络 api 控制器中有一个网络 api 方法,如下所示,它运行良好..
[Route("api/myquery")]
[HttpPost]
public HttpResponseMessage MyQuery([FromBody] string id)
{
if (string.IsNullOrEmpty(id))
{
return new HttpResponseMessage(HttpStatusCode.BadRequest);
}
return new HttpResponseMessage(HttpStatusCode.OK);
}
我想在我的 asp.net mvc 控制器中使用类似的控制器..
我尝试了以下..
[HttpPost]
public ActionResult MyQuery(string id)
{
return this.Content("");
}
发布的数据是从 javascript 中的相同方法发送的。
$.ajax("/api/myquery", {
data: JSON.stringify(tmp1),
type: "post", contentType: "application/json",
success: function (result) { alert("Saved Successfully") },
error: function (result) { alert("Error Saving") }
});
但是,由于 MVC 没有 [FromBody] 标签,我无法访问正在发送的内容。虽然正在调用该方法,但 id 始终显示为 null...
试试这个
[HttpPost]
public ActionResult MyQuery(string id)
{
if (string.IsNullOrEmpty(id))
{
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
}
return Json("message","text/json",JsonRequestBehavior.AllowGet);
}
并在 ajax post 中更改 url(将 api 替换为您的控制器名称:例如,如果您在家庭控制器下,请输入 "home" )
$.ajax("home/myquery", {
/*data: JSON.stringify(tmp1),*/
data: JSON.stringify({id:tmp1}),
type: "post", contentType: "application/json",
success: function (result) { alert("Saved Successfully") },
error: function (result) { alert("Error Saving") }
});
我在网络 api 控制器中有一个网络 api 方法,如下所示,它运行良好..
[Route("api/myquery")]
[HttpPost]
public HttpResponseMessage MyQuery([FromBody] string id)
{
if (string.IsNullOrEmpty(id))
{
return new HttpResponseMessage(HttpStatusCode.BadRequest);
}
return new HttpResponseMessage(HttpStatusCode.OK);
}
我想在我的 asp.net mvc 控制器中使用类似的控制器..
我尝试了以下..
[HttpPost]
public ActionResult MyQuery(string id)
{
return this.Content("");
}
发布的数据是从 javascript 中的相同方法发送的。
$.ajax("/api/myquery", {
data: JSON.stringify(tmp1),
type: "post", contentType: "application/json",
success: function (result) { alert("Saved Successfully") },
error: function (result) { alert("Error Saving") }
});
但是,由于 MVC 没有 [FromBody] 标签,我无法访问正在发送的内容。虽然正在调用该方法,但 id 始终显示为 null...
试试这个
[HttpPost]
public ActionResult MyQuery(string id)
{
if (string.IsNullOrEmpty(id))
{
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
}
return Json("message","text/json",JsonRequestBehavior.AllowGet);
}
并在 ajax post 中更改 url(将 api 替换为您的控制器名称:例如,如果您在家庭控制器下,请输入 "home" )
$.ajax("home/myquery", {
/*data: JSON.stringify(tmp1),*/
data: JSON.stringify({id:tmp1}),
type: "post", contentType: "application/json",
success: function (result) { alert("Saved Successfully") },
error: function (result) { alert("Error Saving") }
});