【问题标题】:c#: with a Handler(.ashx) get post send with javascriptc#: 使用 Handler(.ashx) 使用 javascript 获取 post 发送
【发布时间】:2014-01-21 13:12:03
【问题描述】:

我正在尝试从 .aspx 页面中的文本框中获取字符串。当我调试我的网站时,jQuery.post 能够看到输入值,但是当我尝试在我的处理程序中获取值时,他给了我 NULL 回来。谁来帮忙!!!

JS:

CompanyName = $("#company").val();
jQuery.post('/CartHandler.ashx', { 'CompanyName': CompanyName });

ASHX:

public void ProcessRequest(HttpContext context)
{
    string ImeTvrtke = context.Request.QueryString["CompanyName"];
}

【问题讨论】:

    标签: c# asp.net get handler ashx


    【解决方案1】:

    当您发出 POST 请求时,该值不会作为查询字符串的一部分发送。所以不要在查询字符串中查找它。像这样检索它:

    string ImeTvrtke = context.Request["CompanyName"];
    

    或者,如果您想作为查询字符串的一部分发送,则使用 GET 请求:

    jQuery.get('/CartHandler.ashx', { 'CompanyName': CompanyName });
    

    【讨论】:

    • 我用GET试过了,还是一样。
    • 嗯,这很奇怪。你能看到 Fiddler 中的 AJAX 请求吗?
    • 当我使用 jquery serialize 发布时,我可以在处理程序中获取整个表单,但我只需要一个字符串
    • 这应该只适用于单个值。也许您在问题中显示的代码不是实际代码。
    【解决方案2】:

    您正试图从查询字符串中获取已发布的参数,而不是从其发布的表单中获取。

    试试:

    context.Request.Form["CompanyName"];
    

    或者只是:

    context.Request["CompanyName"]
    

    【讨论】:

    • 如果你不能得到字符串,那么你可能想要Request[] / Request.Form[]的.Value,抱歉,我不明白这是你的问题
    【解决方案3】:

    当您使用帖子时,您应该查看 Request.Forms 集合而不是 QueryString。

    【讨论】:

      【解决方案4】:

      试试

      string ImeTvrtke = context.Request["CompanyName"];
      

      【讨论】:

        【解决方案5】:

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-02-01
          • 1970-01-01
          • 2018-01-16
          • 2015-11-08
          相关资源
          最近更新 更多