为什么在定义mvc httppost时jquery加载不起作用?

时间:2012-01-19 15:05:02

标签: jquery asp.net-mvc http-post

以下配置有效 - 它将编辑视图加载到div:

jQuery的:

$("#mydiv").load(
    "/Riders/Edit",
    { riderId: 123 },
    function (data) { }
);

RidersController:

Function Edit(ByVal riderId As Integer) As ActionResult
    Return View(_db.Riders.Single(Function(x) x.rider_id = riderId))
End Function

但是当我向控制器添加一个HttpPost进行编辑时,我收到一个错误:

<HttpPost()>
Function Edit(ByVal model As Rider) As ActionResult
   'code...
End Function

错误:

POST http://localhost:4693/Riders/Edit 500 (Internal Server Error)

现在为什么我会在加载时遇到POST错误?我确定我在设置中遗漏了一些东西,但我还没有看到它。

1 个答案:

答案 0 :(得分:1)

您正在使用GET方法传递参数,因此如果您将其指定为POST,它永远不会找到您的控制器操作。从此链接:http://net.tutsplus.com/tutorials/javascript-ajax/5-ways-to-make-ajax-calls-with-jquery/

  

如果参数作为对象(而不是字符串)传递,则它们是   在POST方法中传递给远程URL。

那将是你的解决方案。