如何使用json,ajax,jquery从httphandler发送连续的消息

时间:2012-06-20 09:13:11

标签: asp.net json jquery

我正在尝试使用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

1 个答案:

答案 0 :(得分:0)

你很简单不能那样做。

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

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

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