Bil*_*nes 7 c# asp.net-mvc jquery json asp.net-mvc-4
我正在开发一个使用ASP.NET MVC 4的应用程序.在某些方面,我觉得我从头开始学习一切:).我被告知它值得.
我需要在控制器中将一些JSON发布到Action.我的行动如下:
[Authorize]
public class MyController : Controller
{
[HttpPost]
public ActionResult RemoveItem(string itemID)
{
// Do stuff...
return Json(new { Status = 1, Message="Success" });
}
}
Run Code Online (Sandbox Code Playgroud)
我的JQuery代码如下所示:
function removeItem(id) {
var json = { "itemID": id };
$.ajax({
type: "POST",
url: "/myController/removeItem",
contentType: "application/json; charset=utf-8",
data: json,
dataType: "json",
success: removeItemCompleted,
error: removeItemFailed
});
}
function removeItemCompleted(results) {
}
function removeItemFailed(request, status, error) {
}
Run Code Online (Sandbox Code Playgroud)
在Fiddler中,我注意到返回了500错误.响应中的TITLE字段说:"无效的JSON原语:itemID".
我究竟做错了什么?
谢谢!
Joe*_*Joe 10
一定要发送JSON:
data: json,
Run Code Online (Sandbox Code Playgroud)
应该
data: JSON.stringify(json),
Run Code Online (Sandbox Code Playgroud)
IE7及以下需要垫片:https://github.com/douglascrockford/JSON-js
注意:Dave A的答案也是正确的,但不直接回答您的问题.我+ 1了.
你似乎不需要JSON.理想情况下,id param将在您的URI中传递:
url: "/myController/removeItem/"+id
Run Code Online (Sandbox Code Playgroud)
这可能是您的行动无法识别的原因.它需要一个参数.
跟进:批评者指出传递的数据是一个字符串,因此id不能传递.我应该指出应该重写动作方法以接受string id.
| 归档时间: |
|
| 查看次数: |
19355 次 |
| 最近记录: |