Tôi đang cố gắng và đấu tranh để gửi một mảng qua JSON tới một hành động điều khiển MVC.Gửi mảng tới bộ điều khiển MVC qua JSON?
Dưới đây là những gì tôi có và những gì tôi đã cố gắng ...
//Get checked records
var $checkedRecords = $(':checked'); //e.g. 3 rows selected = [input 4, input 5, input 6]
//Have tried following:
sendingVar: $checkedRecords.serializeArray(); // gives array of 0's
sendingVar: JSON.stringify($checkedRecords); // gives "{\"length\":1,\"prevObject\":{\"0\":{\"jQuery1313717591466\":1,\"jQuery1313717591653\":13},\"context\":{\"jQuery1313717591466\":1,\"jQuery1313717591653\":13},\"length\":1},\"context\":{\"jQuery1313717591466\":1,\"jQuery1313717591653\":13},\"selector\":\":checked\",\"0\":{}}"...wtf
//Post
$.post(url, { sendingVar: sendingVar }, function(data) {alert(data); });
Làm thế nào để làm điều đó?
chỉnh sửa: đối với những người đề xuất gửi $checkedRecords
"bằng" từ dòng trên cùng - điều đó không hoạt động. Tôi nhận được một ngoại lệ kỳ lạ ở đâu đó trong khuôn khổ jquery :(
uncaught exception: [Exception... "Could not convert JavaScript argument" nsresult: "0x80570009 (NS_ERROR_XPC_BAD_CONVERT_JS)" location: "JS frame :: http://.../.../.../jquery-1.4.4.min.js :: <TOP_LEVEL> :: line 141" data: no]
mà tôi nghĩ có nghĩa là nó đang cố gắng gán null để một cái gì đó nó không thể
Edit:. Tôi đang sử dụng MVC2 không 3
Edit2: Sau @ answer- vấn đề thứ hai là do làm thế nào tôi đã xây dựng các mảng như[input 4, input 5, input 6]
và không [4,5,6]
- bất kỳ ý tưởng làm thế nào tôi chỉ có thể nhận được các giá trị trong mảng thay vì
Edit3: Dừng bỏ phiếu trùng lặp khi không. Bạn có thực sự đọc vấn đề của tôi hoặc đọc các vấn đề được liên kết không? đây là một vấn đề khác nhau
@Daveo:
I don't want to build in an overriding custom attribute just to send an array from JSON, that is rediculous như chúng tôi đã đề cập trong câu hỏi này, nó không phải là cần thiết.
thể trùng lặp của: http://stackoverflow.com/questions/320291/how-to-post-an-array- các đối tượng phức tạp-với-json-jquery-to-asp-net-mvc-controll và http://stackoverflow.com/questions/4789481/post-an-array-of-objects-via-json-to- asp-net-mvc3 – Daveo
Kết quả mong muốn của bạn là gì? Mảng của bạn là các đối tượng jQuery, phiên bản xâu chuỗi trông phù hợp với tôi. Bạn mong đợi nó trông như thế nào? – BZink
nó chỉ là một mảng chứa chuỗi ID của các mục được chọn. Tôi muốn checkedRecords chứa một mảng của tất cả các ID của các mục được chọn. Giá trị 'của giá trị đầu vào đã chọn chứa giá trị ID mà tôi cần. – baron