使用ASP.NET处理xhr

使用ASP.NET处理xhr,asp.net,ajax,post,xmlhttprequest,Asp.net,Ajax,Post,Xmlhttprequest,我想用两个参数从客户端(JavaScript)向服务器端(ASP.Net)异步发送一篇文章:数值和长格式字符串 我知道长格式字符串在传递之前必须有encodeURIComponent() 我的问题是我想在body请求中嵌入长编码字符串,然后从服务器端的C#打开它 拜托,你能帮我吗?我在ajax、xhr、Request.QueryString[],Request.Form[],等方面做得太多了。首先,创建一个HTTPHandler: using System.Web; public class H

我想用两个参数从客户端(JavaScript)向服务器端(ASP.Net)异步发送一篇文章:数值和长格式字符串

我知道长格式字符串在传递之前必须有encodeURIComponent()

我的问题是我想在body请求中嵌入长编码字符串,然后从服务器端的C#打开它


拜托,你能帮我吗?我在ajax、xhr、Request.QueryString[],Request.Form[],等方面做得太多了。首先,创建一个HTTPHandler:

using System.Web;
public class HelloWorldHandler : IHttpHandler
{
    public HelloWorldHandler()
    {
    }
    public void ProcessRequest(HttpContext context)
    {
        HttpRequest Request = context.Request;
        HttpResponse Response = context.Response;
        //access the post params here as so:
        string id= Request.Params["ID"];
        string longString = Request.Params["LongString"];
    }
    public bool IsReusable
    {
        // To enable pooling, return true here.
        // This keeps the handler in memory.
        get { return false; }
    }
}
然后注册:

<configuration>
    <system.web>
        <httpHandlers>
            <add verb="*" path="*.ashx" 
                  type="HelloWorldHandler"/>
        </httpHandlers>
    </system.web>
</configuration>
请注意完全未经测试的代码,但它应该非常接近您所需要的

我刚测试过,它是开箱即用的。这就是我所说的:

<script language="javascript" type="text/javascript">
    function ajax() {
        $.ajax({
            type: "POST",
            url: "HelloWorldHandler.ashx",
            data: { id: "1", LongString: "Say Hello" },
            success: function (data) {
                //handle success
            }
        });
    }
</script>
<input type="button" id="da" onclick="ajax();" value="Click" />

函数ajax(){
$.ajax({
类型:“POST”,
url:“HelloWorldHandler.ashx”,
数据:{id:“1”,LongString:“Say Hello”},
成功:功能(数据){
//成功
}
});
}

这样,传递给Post ajax调用的数据就嵌入到请求体中了吗?(而不是进入ajax调用的查询?)
<script language="javascript" type="text/javascript">
    function ajax() {
        $.ajax({
            type: "POST",
            url: "HelloWorldHandler.ashx",
            data: { id: "1", LongString: "Say Hello" },
            success: function (data) {
                //handle success
            }
        });
    }
</script>
<input type="button" id="da" onclick="ajax();" value="Click" />