3

JSON文字列をクライアント側に投稿しようとすると、以下のエラーが発生します。

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>

すべてのHTMLページを返します。私のサーバー側のコードは次のようなものです。

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();

        }

誰かが何か考えを持っていますか?JSON文字列のみをクライアントに送信するにはどうすればよいですか?

4

2 に答える 2

2

解決策は以下のとおりです。

エラーの理由は、サーバー側のポスト操作です。

このブロックでコードを変更すると、json文字列が取得されます。

Response.Expires = 0;
Response.ContentType = "application/json";
        Response.Write("{ \"myresultlist\": [ {\"uname\": \"1\",\"pass\": \"anne\" }, { \"uname\": \"2\", \"pass\": \"jack\" }, {\"uname\": \"3\", \"pass\": \"Tom\" } ]}");
        Response.End();
于 2012-10-11T06:32:54.530 に答える
0

クライアントがを実行している場合POST、サーバーは戻ることができませんPOSTHTTPメソッドをに等しく設定しないでくださいPOST

このサーバーの応答を見てください。

HTTP/1.1 200 OK
Date: Wed, 10 Oct 2012 19:58:46 GMT
Server: Apache/2.2.22 (Win64) PHP/5.4.3
Vary: Accept-Encoding,User-Agent
Content-Encoding: gzip
Keep-Alive: timeout=5, max=99
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: application/javascript; charset="iso-8859-1"
于 2012-10-10T20:09:59.240 に答える