Tôi có một biến từ điển trong C# (ASP.NET). Tôi muốn gửi dữ liệu này tới Javascript. Tôi đang sử dụng mã này để serialize nó và gửi đến javascript.Đọc từ điển C# trong Javascript
Dictionary<string, string> chat;
chat = new Dictionary<string, string>();
chat.Add("Sam", "How are you?");
chat.Add("Rita", "I am good");
var serialize = new System.Web.Script.Serialization.JavaScriptSerializer();
Response.Write(serialize.Serialize(chat));
Trên trang Javascript, tôi đang gọi trang này bằng cách sử dụng này;
$.ajax({
url: "TextChatCalls/getChat.aspx",
type: "POST",
context: document.body,
success: function (response) {
var Chats = response.split('\n')[0];
alert(Chats);
}
});
Giá trị trong Trò chuyện var là {"Sam":"How are you?","Rita":"I am good"}
Tôi không biết làm thế nào để đọc giá trị này trong Trò chuyện. Tôi có thể chuyển đổi nó thành một mảng 2D và đọc nó như mảng [0] [0], mảng [1] [0] vv?
Cảm ơn.
EDIT: Một sự nhầm lẫn hơn là, đối tượng phản ứng, trở về từ ASP.NET, chứa
{"Sam":"How are you?","Rita":"I am good"}
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><title>
</title></head>
<body>
<form name="form1" method="post" action="getChat.aspx?Id=141755" id="form1">
<div>
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwULLTE2MTY2ODcyMjlkZJctiKZK4rXVndR3mbGssIarCrOF" />
</div>
<div>
</div>
</form>
</body>
</html>
Và không chỉ {"Sam":"How are you?","Rita":"I am good"}
như mong đợi. Và do đó tôi phải chia đối tượng phản hồi bằng var Chats = response.split('\n')[0];
làm cho nó trở thành một chuỗi!
Tôi không thể hiểu tại sao, nhưng đối tượng phản ứng của tôi chứa giá trị này "{" Sam ":" How are you " 'Rita?':" Tôi tốt "}
@Joy Bạn phải làm một 'Response.End() 'sau' Response.Write() ', otherwhise bạn sẽ gửi toàn bộ trang aspx sau JSON :-) – xanatos
Cảm ơn. Nó đã làm việc. – Jayesh