2015-08-17 48 views
0

我在向方法發送整數數組時遇到錯誤。我傳遞的數據如下所示。我還嘗試以各種格式發送整數數組參數,例如使用JSON.stringfy,但此參數通常爲null。jQuery整數數組通常在ASP.NET MVC中設置爲null

的jQuery:

$(document).on("click", ".findItem", function() { 

    var items = "[" + $("#hdnItem").val() + "]"; 

    var itemData = { 
     ids: items, 
     year: $(".year").val() 
    }; 

    alert(items); //[n1, n2, n3, ..] 

    $.post("@Url.Action("GetItem", "Home")", $.param(itemData, true), function (data) { 
     $.each(data, function (i, v) { 
      console.log(v); 
     }); 
    }); 
}); 

控制器:

[HttpGet] 
public JsonResult GetItem(int[] ids, short year) 
{ 
    //some code 
    return Json(item, JsonRequestBehavior.AllowGet); 
} 
+1

您正在使用'[HTTPGET]'屬性和使用'$ .POST()'方法 – Satpal

+1

要生成陣列使用'變種項= []; items.push($(「#hdnItem」)。val());' –

+0

感謝您的幫助,我按照您的指定解決了這個問題。 –

回答

0

Jquery的

$(document).on("click", ".findItem", function() { 

    var items = []; 
    items.push($("#hdnItem").val()); 

    var itemData = { 
     ids: items, 
     year: $(".year").val() 
    }; 

    alert(items); //[n1, n2, n3,..] 

    $.post("@Url.Action("GetItem", "Home")", $.param(itemData, true), function (data) { 

     console.log(data.lenght); 

     $.each(data, function (i, v) { 
      console.log(v); 
     }); 
    }); 
}); 

控制器

[HttpPost] //Must be POST 
public JsonResult GetItem(int[] ids, short year) 
{ 
    //some code 
    return Json(item, JsonRequestBehavior.AllowGet); 
}