none
请问怎么在page_load中判断是否是xmlhttpRequest请求 RRS feed

  • 问题

  • 我在前台用xmlhttprequest对象发送了get请求,在后台的page_load事件中怎么判断是ajax请求还是第一次加载或者是回发加载?
    
    怎么知道是ajax请求,请问你们一般怎么做的?
    2011年7月18日 6:57

答案

  • >>那我要判数是第一次加载,还是点击按钮回发而加载

    这要看您的jQuery是用$.get还是$.post决定

    if(!String.IsNullOrEmpty(Request.ServerVariables["HTTP_X_REQUESTED_WITH"])
    {
    
     if(Request.ServerVariables["HTTP_X_REQUESTED_WITH"]=="XMLHttpRequest")
     {
     
     string httpMethod = Request.ServerVariables["REQUEST_METHOD"];
      if(httpMethod.ToLower()=="get")
      {
      //get要处理的事
      //write your code
    
      }else if(httpMethod.ToLower()=="post")
      {
       //post要处理的事
       //write your code
      }
    
     }
    
    } 
    



    Shadowと愉快なコード達
    Please correct me if my concept is wrong
    • 已标记为答案 祥祥 2011年7月20日 14:20
    2011年7月20日 4:42

全部回复

  • 如果前台不添加标记,这个是无法判断吧
    【孟子E章】
    • 已标记为答案 祥祥 2011年7月20日 14:20
    • 取消答案标记 祥祥 2011年7月20日 14:21
    2011年7月18日 10:01
    版主
  • if(!String.IsNullOrEmpty(Request.ServerVariables["HTTP_X_REQUESTED_WITH"])
    {
    
     if(Request.ServerVariables["HTTP_X_REQUESTED_WITH"]=="XMLHttpRequest")
     {
     //这是XMLHttpRequest的请求
     }
    
    } 
    
    Response.Write("HttpRequest的请求Method:" + Request.ServerVariables["REQUEST_METHOD"]);
    

    参考:http://www.dotblogs.com.tw/shadow/archive/2011/07/19/31790.aspx

    另外,Ajax的get是有HTTP_CONTENT_TYPE键和application/x-www-form-urlencoded值


    Shadowと愉快なコード達
    Please correct me if my concept is wrong

     


    2011年7月18日 16:52
  • 蛮麻烦的啊,请问你们一般写的时候怎么写的?
    2011年7月19日 3:28
  • 蛮麻烦的啊,请问你们一般写的时候怎么写的?

    就是三楼写的
    还是您能分享一下,您知道XMLHttpRequest后想做什么?
    Shadowと愉快なコード達
    Please correct me if my concept is wrong
    2011年7月19日 13:55
  • 我用JQuery在前台ajax提交多个请求,而我只能在Page_Load中处理,那我要判数是第一次加载,还是点击按钮回发而加载,还要判断多个请求哪个对哪个方法,所以有什么好方法呢

    2011年7月20日 1:36
  • >>那我要判数是第一次加载,还是点击按钮回发而加载

    这要看您的jQuery是用$.get还是$.post决定

    if(!String.IsNullOrEmpty(Request.ServerVariables["HTTP_X_REQUESTED_WITH"])
    {
    
     if(Request.ServerVariables["HTTP_X_REQUESTED_WITH"]=="XMLHttpRequest")
     {
     
     string httpMethod = Request.ServerVariables["REQUEST_METHOD"];
      if(httpMethod.ToLower()=="get")
      {
      //get要处理的事
      //write your code
    
      }else if(httpMethod.ToLower()=="post")
      {
       //post要处理的事
       //write your code
      }
    
     }
    
    } 
    



    Shadowと愉快なコード達
    Please correct me if my concept is wrong
    • 已标记为答案 祥祥 2011年7月20日 14:20
    2011年7月20日 4:42
  • 谢谢你,我明白了,复杂了,我可以把封装起来调用

    2011年7月20日 14:17