七度&光 2014-03-13 09:33 采纳率: 22.2%
浏览 173

在ASHX AJAX C#中获取JSON

Have a script in Home.aspx:

<script type="text/javascript">
  function probarAjax() {

    var Publicaciones = {
      "Categoria": "Noticia"
    }

    $.ajax({
      type: "POST",
      url: "Controlador.ashx?accion=enviar",
      data: JSON.stringify(Publicaciones),
      contentType: "application/json; charset=utf-8",
      dataType: "json",
      success: function(data) {
        console.log(data);
      },
      error: function(XMLHttpRequest, textStatus, errorThrown) {
        alert(textStatus);
      }

    });
  }
</script>

Inside of Controlador.ashx:

public void ProcessRequest(HttpContext context) {
  context.Response.ContentType = "text/json";

  var categoria = string.Empty;
  JavaScriptSerializer javaSerialize = new JavaScriptSerializer();
  categoria = context.Request["Categoria"];

  var capaSeguridad = new { d = categoria };

  context.Response.Write(javaSerialize.Serialize(capaSeguridad));
}

And the result is :

Object {d: null} 

Why this result? if i send a parameter in the data with the variable Publicaciones with value "Noticia".

  • 写回答

3条回答 默认 最新

  • weixin_33709219 2014-03-13 23:41
    关注

    The solution was this

       <script type="text/javascript">
        function probarAjax() {
    
            var Publicaciones = {
                   "Categoria" : "Noticia"                  
            }
    
            $.ajax({
                type: "POST",
                url: "Controlador.ashx?accion=enviar",
                data: JSON.stringify(Publicaciones),
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                success: function (data) {
                    console.log(data.d);
                },
                error: function (XMLHttpRequest, textStatus, errorThrown) {
                    alert(textStatus);
                }
    
    
            });
        }    
    
    </script>
    

    inside of ashx

       public void ProcessRequest(HttpContext context)
        {
            context.Response.ContentType = "text/json";
    
            System.IO.Stream body = context.Request.InputStream;
            System.Text.Encoding encoding = context.Request.ContentEncoding;
            System.IO.StreamReader reader = new System.IO.StreamReader(body, encoding);
    
            string s = reader.ReadToEnd();
            Noticia publicacion = JsonConvert.DeserializeObject<Noticia>(s);
            var capaSeguridad = new { d = publicacion.Categoria };
    
            context.Response.Write(JsonConvert.SerializeObject(capaSeguridad));
        }
    

    with the class

    public class Noticia
        {
            public string Categoria { get; set; }
        }
    

    Thanks for help me

    评论

报告相同问题?

悬赏问题

  • ¥20 测距传感器数据手册i2c
  • ¥15 RPA正常跑,cmd输入cookies跑不出来
  • ¥15 求帮我调试一下freefem代码
  • ¥15 matlab代码解决,怎么运行
  • ¥15 R语言Rstudio突然无法启动
  • ¥15 关于#matlab#的问题:提取2个图像的变量作为另外一个图像像元的移动量,计算新的位置创建新的图像并提取第二个图像的变量到新的图像
  • ¥15 改算法,照着压缩包里边,参考其他代码封装的格式 写到main函数里
  • ¥15 用windows做服务的同志有吗
  • ¥60 求一个简单的网页(标签-安全|关键词-上传)
  • ¥35 lstm时间序列共享单车预测,loss值优化,参数优化算法