0

私はこの問題を抱えています。

私の機能はこれです

$.ajax({
            type: "POST",
            url: "/controller/CreateList",
            contentType: "application/json; charset=utf-8",
            traditional: true,
            data: JSON.stringify(myvar),
            success: function (returnArray) {
            }
.....

私のコントローラーでは、次のアクションがあります。

public int[] CreateList(List<ERoleCommission> erolecommission){
        List<int> intList= new List<int>();
        ...//populate the List
        return  intList.ToArray();
}

debugを使用すると、intListが正しい値で埋められていることがわかります。したがって、ac#エラーではありません。コントローラーからこのアクションを呼び出した後、デバッグはjs関数に戻り、returnArray = "System.Int32 []"であり、タイプのみが含まれます。なぜ?ありがとう

4

1 に答える 1

5

コントローラー/アクションを見ないで推測するだけですが、最初の推測では、アクションから ActionResult としてデータを返す前に、データを JSON エンコードするのを忘れていると思います。アクションで次のようなことを試してください。

public JsonResult YourAction() {
    // ... do stuff
    var yourArrayOfData = CreateList(yourListOfData);
    return Json(yourArrayOfData);
}
于 2012-10-30T10:06:34.930 に答える