2

VS 2010 の MVC メソッドに JavaScript オブジェクトを送信しようとしています。VS Web サーバーを使用しています。

    $.ajax({ 
            type: "POST",
            url: "@Url.Action("Filter", "Grid")",
            dataType: "json", 
            data: {"data": JSON.stringify(filtersData) }, 
            contentType: "application/json; charset=utf-8", 
            traditional: true,
            success: function (data) { 
                alert("ok"); 
            },
            error:function (xhr, ajaxOptions, thrownError) { 
                alert(xhr.status); 
                alert(thrownError); 
            }
        }); 

contentType パラメータを追加すると、500 エラーが発生します。私は何を間違っていますか?

4

2 に答える 2

2

これは最終的に機能しました:

    var filtersApplyData = GetFiltersApplyData@(Model.PropertyID)();
    var data = JSON.stringify({data: filtersApplyData, classID: @(Model.ClassID)});
    $.ajax({ 
            type: "POST",
            url: "@Url.Action("ApplyFilters", "Grid")",
            data: data, 
            contentType: "application/json", 
            traditional: true,
            success: function (data) { 
                $("#grid").html(data);
            },
            error:function (xhr, ajaxOptions, thrownError) { 
                alert(xhr.status); 
                alert(ajaxOptions); 
                alert(thrownError); 
            }
    }); 
于 2012-08-11T20:40:33.333 に答える
1

あなたが投稿したものからそれを伝えるのは非常に難しいです。

500 エラーは、呼び出したサービスは存在するが、渡したデータの処理でエラーが発生したことを意味します。

サービスを制御できる場合 (質問のタイトルに基づいているように思えます)、エラー ログを確認するか、サーバー上でコードを直接実行します (通常、より広範なエラー メッセージが表示されます)。エラー ログがない場合 (NLog がないなど)、Windows イベント ログを確認してください。

サービスを制御できない場合は、エラーが発生していることをサービスの提供者に知らせてください。

于 2012-07-23T04:23:06.040 に答える