我在C#(ASP.NET)中有一個字典變量。我想將這些數據發送到Javascript。我正在使用此代碼將其序列化併發送到JavaScript。閱讀Javascript中的C#詞典
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));
在Javascript頁面上,我打電話給這個頁面;
$.ajax({
url: "TextChatCalls/getChat.aspx",
type: "POST",
context: document.body,
success: function (response) {
var Chats = response.split('\n')[0];
alert(Chats);
}
});
在聊天VAR值是{"Sam":"How are you?","Rita":"I am good"}
我不知道我怎麼讀聊天此值。我可以將它轉換成二維數組,並將其讀爲數組[0] [0],數組[1] [0]等。
謝謝。
編輯: 一個更加混亂的是,響應對象,從ASP.NET返回,包含
{"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>
而且不只是{"Sam":"How are you?","Rita":"I am good"}
預期。因此我必須將響應對象拆分爲var Chats = response.split('\n')[0];
,這使得它成爲一個字符串!
我不明白爲什麼,但我的反應對象包含此值「{」山姆「:」你好嗎「‘麗塔’:」我好「} <!DOCTYPE html PUBLIC」 - // W3C // DTD XHTML 1.0 Transitional // EN「」http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd「>
@Joy你必須做一個到Response.End'()'後' Response.Write()',否則你會發送完JSON後的整個aspx頁面:-) – xanatos
謝謝。有效。 – Jayesh