Ajax帖子没有到达C#MVC3控制器

时间:2014-02-26 07:03:55

标签: ajax asp.net-mvc-3 post

我的问题:当我将数据发布到mvc 3控制器时,我的控制器没有被调用。

我的代码:

public class Input
{
    public int Id { get; set; }
    public int VId { get; set; }
    public int XId { get; set; }
    public int YId { get; set; }        
}

[HttpPost]
public JsonResult TestPost(Input input)
 {
    return Json(new { Success = true, Message = "anymessage" });
 }

function TestPost() {
   console.log("TestPost");    
   var obj = { "Id": 1, "VId": 1, "XId": 1, "YId": 2 };
   var objStr = JSON.stringify({ input: obj });    
   console.log("objstr " + objStr);
$.ajax({
    url: '/MyController/TestPost"',        
    type: "POST",
    cache: false,
    contentType: 'application/json; charset=utf-8',
    dataType: 'json',
    data: objStr,
    error: function (jqXHR, textStatus, errorThrown) {
        console.log("error");
    },
    beforeSend: function() {
        console.log("b4 send");
    },
    success: function (data, textStatus, jqXHR) {
        console.log("success" + JSON.stringify(data));            
    }
});

}

当我致电帖子时,我在控制台中获得以下内容

TestPost

objstr {“input”:{“Id”:1,“VId”:1,“XId”:1,“YId”:2}}

b4发送

successnull

而且,我的控制器中的断点没有被击中。成功数据为空。

但是如果我使用一些REST客户端(如Simple REST或Postman)使用相同的数据,我的控制器就会命中,我的断点就会被击中。 所以我的电话一定有问题。

1 个答案:

答案 0 :(得分:0)

尝试使用

 data:JSON.stringify(obj);

控制台有什么错误?使用

进行检查
error: function (jqXHR, textStatus, errorThrown) {
        console.log(jqXHR.responseText);
    },