0

コントローラーメソッドにAJax呼び出しを行おうとしていますが、何を試してもパラメーターはnullです。私はすべての同様のSO投稿をフォローしましたが、役に立ちませんでした。答えがあれば申し訳ありませんが、見つかりません。私が持っているコードは...

Ajaxコール

    var sguid = $(nTr).attr('id');
    $.ajax({
    url: "/Dashboard/Reporting/GetBlacklistedSoftwareItems",
    type: 'POST',
    dataType: 'json',
    data: JSON.stringify({guid: sguid}),
    statusCode: {
        404: function() {
    alert("page not found");
        }
    },
    success: function (data) {
    //DO Something
    },
    error: function () {
        alert("error");
    }
});

コントローラ方式

public JsonResult GetBlacklistedSoftwareItems(string guid)
{
    List<DeviceSoftware> ldevice = new List<DeviceSoftware>();
    Guid i = Guid.Parse(guid);
    ReportMethods reportingMethods = new ReportMethods();
    ldevice = reportingMethods.GetNonCompliantApplicationReport(CompanyId);

    DeviceSoftware ds = ldevice.Find(x => x.Device.Guid == i);
    List<DeviceApplication> da = new List<DeviceApplication>();
    if (ds != null)
    {
        da = ds.DeviceApplications;
    }

    return Json(da, JsonRequestBehavior.AllowGet);
}

メソッドはguid常にヒットしていnullます。 sguid私が渡そうとしているデータを保持しています。誰かが私が欠けているものを教えてもらえますか?

4

3 に答える 3

1

私が読んだすべてに対して私は変わった

data: JSON.stringify({guid: sguid}),

data: {guid: sguid},

現在動作しています。

于 2012-11-08T14:58:35.420 に答える
0

フレッド、

GetBlacklistedSoftwareItemsをpostメソッドにする必要があります。

これを試して...

[HttpPost] public JsonResult GetBlacklistedSoftwareItems(string guid){

于 2012-11-08T14:59:33.953 に答える
0

小さな変更を行う必要があります。

var sguid = $(nTr).attr('id');
    $.ajax({
    url: "/Dashboard/Reporting/GetBlacklistedSoftwareItems",
    contentType: "application/json; charset=utf-8" ,//This is very important 
    type: 'POST',
    dataType: 'json',
    Data: JSON. stringify ({guild: squid}),
    statusCode: {
        404: function() {
    alert("page not found");
        }
    },
    success: function (data) {
    //DO Something
    },
error: function () {
    alert("error");
}

});

contentType: "application/json; charset=utf-8"を $.Ajax 呼び出しに追加します。:)

于 2013-04-25T03:47:28.930 に答える