2012-01-19 16 views
0

次のような構成の作品 - それは、DIVに編集ビューをロードします。RidersControllermvc httppostが定義されていると、jqueryのロードが機能しないのはなぜですか?

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

jQueryの

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のエラーを取得するのでしょうか?私は自分のセットアップで何かが欠落していると確信していますが、まだ見ていません。

+0

@musefanはい、両方のアクションは、あなたが記述したのと同じようにコントローラにあります。 – gfrizzle

答えて

1

GETメソッドを使用してパラメータを渡すので、コントローラの動作をPOSTと指定した場合はコントローラの動作が検出されません。このリンクから:http://net.tutsplus.com/tutorials/javascript-ajax/5-ways-to-make-ajax-calls-with-jquery/

If parameters are passed as an object (rather than string), they are passed to the remote url in the POST method.

これはあなたの解決策です。

+0

ビンゴ!私はそれがそれのような単純なものであることを知っていました。私はあまりにも前にそれを実行していることをかなり確信しています。リンクはとても役に立ちました、ありがとう! – gfrizzle

関連する問題