2016-01-18 14 views
0

我在C#中编写了一个HttpHandler来做一些腌制和散列操作,并将一个id发回到我的网页。网页将用户的姓名和姓氏发送给处理程序,处理程序将其散列并散列,然后将散列发送回网页。为什么我的内容正文通过编码?

 function redirectToCustom(){ 
      var firstName = "First"; 
      var lastName = "Last"; 

      var xmlHttp = new XMLHttpRequest(); 
      xmlHttp.onreadystatechange = function() { 
       if (xmlHttp.readyState == 4) { 
         var surveyURL = "https://www.google.com"; 
         var uri = surveyURL + "?id=" + encodeURIComponent(xmlHttp.responseText); 
         window.location = uri; 
        } 
      }; 
      xmlHttp.open("GET", "http://myhandler/GetHash.ashx?fname=" + encodeURIComponent(firstName) + "&lname=" + encodeURIComponent(lastName), true); 
      xmlHttp.send(null);      
     } 

该处理程序的代码,GetHash.ashx低于,

 string fName = context.Request.QueryString["fname"]; 
     string lName = context.Request.QueryString["lname"]; 
     string fullName = string.Concat(fName, lName); 
     string saltAndHash = PasswordHash.CreateHash(fullName); 

     SaveToTable(saltAndHash);     
     context.Response.ContentType = "text/plain"; 
     context.Response.Write(saltAndHash.Split(':')[2]); 

问题是,当我调试的网页,没有任何响应文本。

我看着Fiddler,它有一个响应体,但它是编码的,我无法弄清楚为什么身体编码,以及它是如何编码的。

为什么我的响应正文通过编码?

+0

你是什么意思的“编码”?你能否提供你在Fiddler中看到的输出样本(包括标题,如果它们是可读的)? –

+0

请求的标头非常重要,因为服务器可能会发送经过压缩的内容。 – bri

+0

啊,你知道它可能会被压缩。在发布截图之前,告诉我这个标题是否意味着它正在被压缩? '内容编码:gzip' 这是在响应 – Adam

回答

0

答案很简单,并在评论中向我指出。答案是gzipped。

我的头

Content-Encoding: gzip

现在我必须弄清楚如何使用本地JavaScript解压缩响应文本错过了这个。

相关问题