0

POST リクエストを受け入れる通常の aspx ページがあり、http 経由でリクエストを行った人に応答を返すことを期待しています。

response.write(data) を使用して応答をユーザーに送り返しましたが、「データ」だけでなくページ全体を送り返しました

これはコードスニペットです

protected void Page_Load(object sender, EventArgs e)
{

  Response.Clear();
  Response.ContentType = "text/plain";

  string myparam = (string)Request.QueryString["myparam"];

  //Perform some operations then generate a response
  data="Ok"
  Response.Write(data);
  Response.End();

}// End

問題は、データのみ、つまり「OK」だけを送信する代わりに、「OK」とページの DOM 全体を送信することです」

誰かが http 経由で私の POST ページを要求するたびに、残りの文字列を削除する方法について助けが必要です。相手に「OK」だけをもらいたい。

4

1 に答える 1

-1

バッファリングとフラッシュを使用できます。

Response.BufferOutput = true

// iterate through content
Response.Write(content so far)
Response.Flush()

... keep going

Response.Write(more content)
Response.Flush()

Web サービス API を作成し、応答ではなくデータを返す場合は、次の記事を参照してください: http://www.iwantmymvc.com/rest-service-mvc3

特に Json コンテンツを返す部分を表示します。

    [HttpPost]
    public JsonResult CommentList(List<Comment> items)
    {
        var model = this.commentManager.CreateComments(items);
        return Json(model);
    }

メソッドは PageLoad であり、これは Web ページを返すことを意味しますが、Web サービス API の応答に近い文字列のみを返したいとします。うまくいけば、これがあなたを正しい方向に導くでしょう。


明示的にコンテンツ タイプを text/plain に設定してみましたか?

context.Response.ContentType = "text/plain";
于 2012-07-16T00:50:42.730 に答える