Ho una variabile di dizionario in C# (ASP.NET). Voglio inviare questi dati a Javascript. Sto usando questo codice per serializzarlo e inviarlo a javascript.Lettura del dizionario C# in 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));
Nella pagina di Javascript, sto chiamando questa pagina utilizzando questo;
$.ajax({
url: "TextChatCalls/getChat.aspx",
type: "POST",
context: document.body,
success: function (response) {
var Chats = response.split('\n')[0];
alert(Chats);
}
});
Il valore in Chat var è {"Sam":"How are you?","Rita":"I am good"}
Non so come faccio a leggere questo valore nelle chat. Posso comunque convertire questo in un array 2D e leggerlo come array [0] [0], array [1] [0] ecc.?
Grazie.
EDIT: Una più confusione è che, l'oggetto risposta, è tornato da ASP.NET, contiene
{"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>
E non solo {"Sam":"How are you?","Rita":"I am good"}
come previsto. E quindi devo dividere l'oggetto risposta di var Chats = response.split('\n')[0];
che lo rende una stringa!
non riesco a capire il motivo per cui, ma il mio oggetto di risposta contiene questo valore "{" Sam ":" Come stai " 'Rita?':" Io sono buono "}
@Joy Devi fare un 'Response.End()' dopo la ' Response.Write() ', altrimenti spedirai l'intera pagina aspx dopo JSON :-) – xanatos
Grazie. Ha funzionato. – Jayesh