Ajaxリクエストのjqueryから「parsererror」を取得しているので、POSTをGETに変更して、いくつかの異なる方法(クラスの作成など)でデータを返しましたが、問題が何であるかわからないようです。
私のプロジェクトはMVC3にあり、jQuery 1.5を使用しています。ドロップダウンがあり、onchangeイベントで呼び出しを開始して、何が選択されたかに基づいてデータを取得します。
ドロップダウン:(これにより、Viewbagのリストから「ビュー」が読み込まれ、イベントの起動が正常に機能します)
@{
    var viewHtmls = new Dictionary<string, object>();
    viewHtmls.Add("data-bind", "value: ViewID");
    viewHtmls.Add("onchange", "javascript:PageModel.LoadViewContentNames()");
}
@Html.DropDownList("view", (List<SelectListItem>)ViewBag.Views, viewHtmls)
JavaScript:
this.LoadViewContentNames = function () {
    $.ajax({
        url: '/Admin/Ajax/GetViewContentNames',
        type: 'POST',
        dataType: 'json',
        data: { viewID: $("#view").val() },
        success: function (data) {
            alert(data);
        },
        error: function (data) {
            debugger;
            alert("Error");
        }
    });
};
上記のコードはMVCメソッドを正常に呼び出し、以下を返します。
[{"ViewContentID":1,"Name":"TopContent","Note":"Content on the top"},
 {"ViewContentID":2,"Name":"BottomContent","Note":"Content on the bottom"}]
しかし、jqueryは$ .ajax()メソッドに対して「parsererror」と言うエラーイベントを発生させます。