Cho đến nay, tôi đã chỉ chuyển chuỗi javascript vào các phương thức web của mình, được phân tích cú pháp, thường là Hướng dẫn. nhưng bây giờ tôi có một phương pháp mà chấp nhận một IList ... trên máy khách, tôi xây dựng mảng này của các đối tượng và sau đó cố gắng để vượt qua nó thích:Tại sao không jquery biến mảng của tôi thành một chuỗi json trước khi gửi đến phương pháp web asp.net?
$.ajax({
type: 'POST',
url: 'personalization.aspx/SetPersonalization',
data: "{'backerEntries':" + backerEntries + "}",
contentType: 'application/json; charset=utf-8',
dataType: 'json',
success: postcardManager.SetPersonalizationComplete
});
Các bài:
{'backerEntries':[object Object],[object Object],[object Object]}
Các lỗi phản hồi:
Invalid JSON primitive: object.
Vì lý do nào đó, jquery dường như không chuyển mảng của tôi thành chuỗi json? Bất kỳ ý tưởng tại sao? Tôi đã thử đặt [] xung quanh backerEntries, và {}, cũng như {[]} chỉ trong tuyệt vọng tuyệt đối. Tôi có thiếu thứ gì đó hiển nhiên ở đây không?
Cảm ơn Shog9 .. đó là những gì tôi googled và đã bắt đầu triển khai. Thật không may, danh sách của tôi không chỉ là một chuỗi các chuỗi, nó là một danh sách các đối tượng tùy chỉnh .. vì vậy đó là lý do tại sao tôi đoán jquery không json chuỗi nó. – EvilSyn
Làm việc mà không bị cản trở. Tôi ngạc nhiên jquery không có được xây dựng trong! – EvilSyn
jQuery không cung cấp dịch vụ tuần tự hóa. Vì bạn đang sử dụng ASP.NET, thay vì thêm một thư viện mới, bạn nên sử dụng các trình tự tuần tự được xây dựng sẵn mà bạn nhận được miễn phí với khung công tác ASP.NET ajax (xem phản hồi của tôi bên dưới). –