0

Jsonデータをコントローラーアクションに送信しようとしています。

JQuery

function SaveConnection() {
    debugger;
    var CardConnection = {
        ConnectionDetails: []
    };

    var allConn = jsPlumb.getAllConnections();
    var length = allConn["green dot"].length;
    for (var i = 0; i < length; i++) {
        CardConnection.ConnectionDetails.push({
            "CardIDFrom": allConn["green dot"][i].sourceId,
            "CardIDTo": allConn["green dot"][i].targetId
        });
    }

    var CardDetails = $('#CardDetails');
    var url = CardDetails.attr('save-data');
    $.ajax({
        url: url,
        data: JSON.stringify(CardConnection),
        type: 'POST',
        contentType: 'application/json, charset=utf-8',
        dataType: 'json'
    });
    return false;
}

コントローラのアクション

public ActionResult SaveConnections(List<CardConnection> ConnectionList)
{
    return Json(ConnectionList);
}

問題は-アクションの引数で常にnullを示しています。

4

2 に答える 2

1

変数はこのようにする必要があります

var CardConnection = {
        ConnectionList: []
    };

こんなはずじゃない

var CardConnection = {
        ConnectionDetails: []
    };

なんで ?

アクション引数では、変数名はConnectionList

于 2013-02-25T10:46:37.627 に答える
0

同様の問題に直面しました。解決策は、デフォルトでは処理できないため、iis に json の MIME タイプを伝えることでした。

追加 <staticContent> <mimeMap fileExtension=".json" mimeType="application/json" /> </staticContent>

system.webServer の子として web.config に。

于 2013-02-25T10:58:06.740 に答える