handet87 handet87 - 25 days ago 14
JSON Question

Sencha Touch Error You're trying to decode an invalid JSON String HTML page returns in ASP.NET

When I try to post JSON string to client side, I have the error below.

Uncaught Error: You're trying to decode an invalid JSON String:

<!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 method="post" action="WebForm1.aspx" id="form1">
<div class="aspNetHidden">
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwULLTE2MTY2ODcyMjlkZDU/UqTLS4JCyWg8lH2WKg+TKxlfMLv46f+TlE5HbZ5k" />
</div>

<div>

</div>
</form>
</body>
</html>


It returns all HTML page. My server side code is like this:

var httpWebRequest = (HttpWebRequest)WebRequest.Create("http://localhost:59145/My%20Application.app/webapp/index.html");
httpWebRequest.ContentType = "application/json";
httpWebRequest.Method = "POST";
string json = "{ \"myresultlist\": [ {\"uname\": \"1\",\"pass\": \"anne\" }, { \"uname\": \"2\", \"pass\": \"jack\" }, {\"uname\": \"3\", \"pass\": \"Tom\" } ]}";


httpWebRequest.ContentLength = json.Length;

using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream()))
{

streamWriter.Write(json);
streamWriter.Flush();
streamWriter.Close();

}


Anybody has any idea? How can I send only JSON string to client?

Answer

The solution is below.

The reason for error is server side post operation.

When I change the code with this block, i get the json string.

Response.Expires = 0;
Response.ContentType = "application/json";
        Response.Write("{ \"myresultlist\": [ {\"uname\": \"1\",\"pass\": \"anne\" }, { \"uname\": \"2\", \"pass\": \"jack\" }, {\"uname\": \"3\", \"pass\": \"Tom\" } ]}");
        Response.End();
Comments