【问题标题】:how to send consecutive messages from httphandler using json,ajax,jquery如何使用 json、ajax、jquery 从 httphandler 发送连续消息
【发布时间】:2012-06-20 09:13:11
【问题描述】:

我正在尝试使用 JSON、AJAX 和 JQUERY 从 httphandler 文件向客户端发送两条连续消息。但是,仅显示第二条消息。可能是什么原因?你如何显示这两条消息?

.ASHX

using Newtonsoft.Json;
using Newtonsoft.Json.Serialization;
using Newtonsoft.Json.Converters;

public class Gen_BLL : IHttpHandler {
  public void ProcessRequest (HttpContext context) {
string ename = JsonConvert.SerializeObject("Message1..");
context.Response.Clear();
context.Response.ContentType = "application/json; charset=utf-8";
context.Response.Write(ename);

ename = JsonConvert.SerializeObject("Message2..");
context.Response.Clear();
context.Response.ContentType = "application/json; charset=utf-8";
context.Response.Write(ename);

}

public bool IsReusable {
get {return false;}

}

}

.JS 文件:

function funGenAst(usro){
 $.ajax({
type: "GET",    
url: "Gen_BLL.ashx",
contentType: "application/json; charset=utf-8",
data: { "uso": usro },
dataType: "json",
success: OnComplete,        
error: OnFail
});
 return false;
}

function OnComplete(result) {
  alert(result);
}

function OnFail(result){
  alert("fail...');
}

只显示一个警报,即“Message2..”。 “Message1..”警报根本没有弹出。如何一个接一个地提醒两条消息?

谢谢 bsc

【问题讨论】:

  • 您在发送第二条消息之前清除响应context.Response.Clear();,而响应尚未刷新。

标签: asp.net json jquery


【解决方案1】:

你做不到。

有一个http通信协议,这是破坏它,从你发送一些头和一些内容的那一刻起,没有预测清除头,并发送第二个(或新的)消息。

关于超文本传输​​协议 (HTTP):http://www.w3.org/Protocols/rfc2616/rfc2616-sec1.html

替代方式:将您的消息合并到一个响应中,或者在您收到第一条消息后,发出新请求以获取第二条。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-05-30
    • 1970-01-01
    • 2011-12-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多