校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > Ajax提交參數的值中帶有html標簽不能提交成功的解決辦法(ASP.NET)

Ajax提交參數的值中帶有html標簽不能提交成功的解決辦法(ASP.NET)

熱門標簽:東平縣地圖標注app 中國地圖標注不明確情況介紹表 地圖標注推銷坑人 河間市地圖標注app 電銷機器人 長春 立陶宛地圖標注 上海企業外呼系統價錢 大眾點評400電話怎么申請 怎樣在地圖標注文字

最近在公司做資源及文章上傳功能遇到一個小問題,被坑了好半天。

        該功能就類似利用富文本編輯器發布信息,但是用Ajax提交數據,因此提交參數值中不可避免的含有html標簽。

        在本地運行代碼一直沒問題,總是可以提交成功,但是代碼部署到線上就不能成功提交數據了,被坑了好久,找了好半天才找到問題所在。

        提交不成功的原因是因為我的提交數據中含有html標簽,然后直接無法請求到我的目標地址。

         然后解決辦法如下:

         1、在頁面用JS的Base64編碼(類似加密)帶有html標簽的參數值。

         2、在目標地址獲取到數據后,利用后臺Base64解碼方法對獲取到的數據進行解碼即可。

          以下是我的JS的Base64編碼和解碼方法代碼:

//下面是64個基本的編碼
 var base64EncodeChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
 var base64DecodeChars = new Array(
   -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 62, -1, -1, -1, 63,
   52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -1, -1, -1, -1, -1, -1,
   -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
   15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, -1, -1, -1, -1, -1,
   -1, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
   41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1);
 //編碼的方法
 function base64encode(str) {
     var out, i, len;
    var c1, c2, c3;
     len = str.length;
    i = 0;
    out = "";
    while(i  len) {
       c1 = str.charCodeAt(i++)  0xff;
       if(i == len)
       {
             out += base64EncodeChars.charAt(c1 >> 2);
             out += base64EncodeChars.charAt((c1  0x3)  4);
           out += "==";
            break;
          }
      c2 = str.charCodeAt(i++);
       if(i == len)
         {
           out += base64EncodeChars.charAt(c1 >> 2);
            out += base64EncodeChars.charAt(((c1  0x3) 4) | ((c2  0xF0) >> 4));
             out += base64EncodeChars.charAt((c2  0xF)  2);
             out += "=";
            break;
          }
       c3 = str.charCodeAt(i++);
       out += base64EncodeChars.charAt(c1 >> 2);
      out += base64EncodeChars.charAt(((c1  0x3) 4) | ((c2  0xF0) >> 4));
       out += base64EncodeChars.charAt(((c2  0xF)  2) | ((c3  0xC0) >>6));
       out += base64EncodeChars.charAt(c3  0x3F);
       }
     return out;
   }
 //解碼的方法
 function base64decode(str) {
     var c1, c2, c3, c4;
    var i, len, out;
     len = str.length;
     i = 0;
  out = "";
     while(i  len) {
      do {
          c1 = base64DecodeChars[str.charCodeAt(i++)  0xff];
        } while(i  len  c1 == -1);
       if(c1 == -1)
         break;
      do {
          c2 = base64DecodeChars[str.charCodeAt(i++)  0xff];
        } while(i  len  c2 == -1);
       if(c2 == -1)
          break;
      out += String.fromCharCode((c1  2) | ((c2  0x30) >> 4));
      do {
          c3 = str.charCodeAt(i++)  0xff;
          if(c3 == 61)
            return out;
          c3 = base64DecodeChars[c3];
        } while(i  len  c3 == -1);
       if(c3 == -1)
          break;
       out += String.fromCharCode(((c2  0XF)  4) | ((c3  0x3C) >> 2));
     do {
          c4 = str.charCodeAt(i++)  0xff;
           if(c4 == 61)
            return out;
          c4 = base64DecodeChars[c4];
         } while(i  len  c4 == -1);
      if(c4 == -1)
          break;
       out += String.fromCharCode(((c3  0x03)  6) | c4);
      }
     return out;
   }
 function utf16to8(str) {
     var out, i, len, c;
     out = "";
    len = str.length;
    for(i = 0; i  len; i++) {
      c = str.charCodeAt(i);
      if ((c >= 0x0001)  (c = 0x007F)) {
          out += str.charAt(i);
        } else if (c > 0x07FF) {
           out += String.fromCharCode(0xE0 | ((c >> 12)  0x0F));
            out += String.fromCharCode(0x80 | ((c >> 6)  0x3F));
           out += String.fromCharCode(0x80 | ((c >> 0)  0x3F));
         } else {
            out += String.fromCharCode(0xC0 | ((c >> 6)  0x1F));
             out += String.fromCharCode(0x80 | ((c >> 0)  0x3F));
          }
       }
    return out;
   }
 function utf8to16(str) {
   var out, i, len, c;
    var char2, char3;
    out = "";
    len = str.length;
   i = 0;
    while(i  len) {
     c = str.charCodeAt(i++);
    switch(c >> 4)
       { 
      case 0: case 1: case 2: case 3: case 4: case 5: case 6: case 7:
          // 0xxxxxxx
          out += str.charAt(i-1);
          break;
         case 12: case 13:
          // 110x xxxx  10xx xxxx
          char2 = str.charCodeAt(i++);
         out += String.fromCharCode(((c  0x1F)  6) | (char2  0x3F));
         break;
        case 14:
         // 1110 xxxx 10xx xxxx 10xx xxxx
         char2 = str.charCodeAt(i++);
          char3 = str.charCodeAt(i++);
           out += String.fromCharCode(((c  0x0F)  12) |
                  ((char2  0x3F)  6) |
                  ((char3  0x3F)  0));
          break;
        }
       }
    return out;
  }

    頁面調用JS方法進行Base64編碼代碼如下:

 var articleContent = editor.getContent();
   articleContent = base64encode(utf16to8(articleContent));

     但是呢,又遇到一個新的問題,用JS對數據進行Base64編碼后,JS居然把加號(+)替換成了空格,造成我后臺方法解碼出來的數據不正確。

      解決辦法如下:

      本人首先采用JS方法replace()方法進行替換,但是有錯誤,JS只是把我的第一個空格替換成了加號(+),最后解決辦法如下。

      在后臺(目標接受地址下)對獲取到的數據,把空格替換成加號(+)。代碼如下:       

string content = Request["content"].ToString();
      if (content.Contains(""))
        {
          content=content.Replace(" ", "+");
        }
      //byte[] sa = Convert.FromBase64String(content);
      //Encoding Ansi = Encoding.GetEncoding("GB2312");
      // content = Ansi.GetString(sa);
      content = Base64Decrypt(content);//Base64解碼

       如果后臺的Base64編碼和解碼方法不會的請看下面:

/// summary>
    /// Base64加密
    /// /summary>
    /// param name="input">需要加密的字符串/param>
    /// returns>/returns>
    public static string Base64Encrypt(string input)
    {
      return Base64Encrypt(input, new UTF8Encoding());
    }
    /// summary>
    /// Base64加密
    /// /summary>
    /// param name="input">需要加密的字符串/param>
    /// param name="encode">字符編碼/param>
    /// returns>/returns>
    public static string Base64Encrypt(string input, Encoding encode)
    {
      return Convert.ToBase64String(encode.GetBytes(input));
    }
    /// summary>
    /// Base64解密
    /// /summary>
    /// param name="input">需要解密的字符串/param>
    /// returns>/returns>
    public static string Base64Decrypt(string input)
    {
      return Base64Decrypt(input, new UTF8Encoding());
    }
    /// summary>
    /// Base64解密
    /// /summary>
    /// param name="input">需要解密的字符串/param>
    /// param name="encode">字符的編碼/param>
    /// returns>/returns>
    public static string Base64Decrypt(string input, Encoding encode)
    {
      return encode.GetString(Convert.FromBase64String(input));
    }

以上所述是小編給大家介紹的Ajax提交參數的值中帶有html標簽不能提交成功的解決辦法(ASP.NET),希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!

您可能感興趣的文章:
  • 詳解ASP.NET Core WebApi 返回統一格式參數
  • .NET/C#利用反射調用含ref或out參數的方法示例代碼
  • 淺談Asp.net Mvc之Action如何傳多個參數的方法
  • ASP.NET MVC后臺參數驗證的幾種方式
  • ASP.NET MVC傳送參數至服務端詳解及實例
  • ASP.NET jquery ajax傳遞參數的實例
  • .Net獲取URL中文參數值的亂碼問題解決方法總結
  • 在ASP.NET 2.0中操作數據之六:編程設置ObjectDataSource的參數值
  • .net core在服務器端獲取api傳遞的參數過程

標簽:本溪 銅川 營口 四川 遼寧 玉樹 益陽 內江

巨人網絡通訊聲明:本文標題《Ajax提交參數的值中帶有html標簽不能提交成功的解決辦法(ASP.NET)》,本文關鍵詞  Ajax,提交,參數,的,值中,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Ajax提交參數的值中帶有html標簽不能提交成功的解決辦法(ASP.NET)》相關的同類信息!
  • 本頁收集關于Ajax提交參數的值中帶有html標簽不能提交成功的解決辦法(ASP.NET)的相關信息資訊供網民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    亚洲欧洲日产国码二区| 国产老肥熟一区二区三区| 蜜臀av亚洲一区中文字幕| 国产精一区二区三区| 欧美丰满嫩嫩电影| 亚洲精品福利视频网站| 国产乱理伦片在线观看夜一区| 欧美视频三区在线播放| 欧美国产日韩一二三区| 美女网站视频久久| 欧美精选一区二区| 亚洲色图.com| 国产成人福利片| 欧美大片一区二区三区| 综合av第一页| 国产在线日韩欧美| 91精品婷婷国产综合久久竹菊| 综合自拍亚洲综合图不卡区| 久久se精品一区精品二区| 欧美日韩激情一区| 一区二区三区在线观看国产| 成人开心网精品视频| 久久久国产精品不卡| 国产一区二三区| 精品国产一区二区三区忘忧草| 性久久久久久久久| 欧美日韩精品电影| 婷婷成人综合网| 91精品国产日韩91久久久久久| 亚洲成人综合视频| 欧美午夜精品久久久久久孕妇| 一区二区视频在线| 欧美中文字幕一区二区三区| 亚洲美女在线国产| 欧美视频三区在线播放| 亚洲成人激情社区| 欧美一区午夜精品| 美腿丝袜亚洲三区| xvideos.蜜桃一区二区| 国产在线国偷精品产拍免费yy | 91美女视频网站| 国产精品乱码人人做人人爱| 丰满少妇久久久久久久| 国产精品乱码久久久久久 | 捆绑调教一区二区三区| 欧美一级专区免费大片| 麻豆成人久久精品二区三区小说| 精品久久久久香蕉网| 国模冰冰炮一区二区| 国产欧美精品区一区二区三区 | 日韩理论片中文av| 一本一本大道香蕉久在线精品 | 欧美精品一区二区三区久久久| 久久精品久久精品| 久久婷婷色综合| www.日韩大片| 亚洲美女在线国产| 欧美二区三区的天堂| 激情深爱一区二区| 国产女主播视频一区二区| 91麻豆成人久久精品二区三区| 午夜a成v人精品| 国产精品少妇自拍| 欧美日精品一区视频| 韩国精品一区二区| 亚洲乱码日产精品bd| 精品国产一二三| 91激情五月电影| 久久国产乱子精品免费女| 国产精品视频你懂的| 91精品中文字幕一区二区三区| 东方aⅴ免费观看久久av| 亚洲精品欧美专区| 国产亚洲制服色| 51精品国自产在线| 91亚洲精品久久久蜜桃| 美女视频一区二区三区| 亚洲最色的网站| 国产欧美精品一区二区色综合| 欧美色综合久久| 高清国产一区二区| 日韩av网站免费在线| **欧美大码日韩| 337p日本欧洲亚洲大胆精品| 欧美色倩网站大全免费| 成人国产精品免费观看视频| 日韩高清不卡一区二区| 亚洲精品乱码久久久久久| 久久久精品天堂| 日韩视频中午一区| 欧美日韩成人一区二区| 91首页免费视频| 国产老妇另类xxxxx| 蜜臀av性久久久久蜜臀aⅴ流畅| 亚洲精品日韩一| 成人免费在线观看入口| 国产亚洲精品超碰| 欧美α欧美αv大片| 欧美乱妇15p| 欧美性欧美巨大黑白大战| 99久久精品国产导航| 国产91在线观看| 国产麻豆视频精品| 精品一区二区成人精品| 视频在线观看一区二区三区| 一区二区在线观看av| 亚洲乱码国产乱码精品精98午夜| 日本一区二区视频在线| 久久久久久久久免费| 2024国产精品| 久久久国产精品午夜一区ai换脸| 精品国产91洋老外米糕| 欧美本精品男人aⅴ天堂| 欧美一级欧美三级| 日韩欧美在线不卡| 欧美大胆人体bbbb| 精品国产乱码久久久久久图片 | 国产一区二区三区免费看| 麻豆精品视频在线观看| 免费高清视频精品| 激情六月婷婷久久| 激情小说亚洲一区| 成人性视频网站| heyzo一本久久综合| 色婷婷综合久久久中文字幕| 欧美在线观看一区| 欧美一区二区三区在线观看| 日韩欧美成人一区| 欧美激情一区二区三区不卡 | 日本韩国精品在线| 精品视频一区二区不卡| 欧美精选一区二区| 久久久久久久久岛国免费| 欧美国产精品一区| 亚洲永久精品大片| 久久国产麻豆精品| 99久久久国产精品免费蜜臀| 欧美午夜精品一区二区三区| 日韩欧美中文一区二区| 久久久久久麻豆| 亚洲精品五月天| 日韩高清不卡一区二区| 国产精品一区二区三区乱码| 波多野结衣在线一区| 欧美午夜精品久久久久久孕妇| 日韩一区二区三区视频在线| 久久精品视频免费观看| 一区二区三区四区高清精品免费观看 | 精品国产乱码久久久久久老虎| 国产三级精品三级在线专区| 又紧又大又爽精品一区二区| 午夜电影一区二区| 成人免费观看av| 欧美日韩国产综合视频在线观看| 精品国产乱码久久久久久牛牛| 亚洲特黄一级片| 韩国欧美国产一区| 欧美日韩在线观看一区二区| 久久久av毛片精品| 亚洲国产精品天堂| 成人性视频免费网站| 91精品国产手机| 一区二区三区四区亚洲| 国产精品99久久久久久似苏梦涵| 欧美专区亚洲专区| 国产精品美女久久久久久久久 | 一区二区三区在线视频观看 | 欧美日韩中文字幕精品| 国产亚洲精品久| 免费高清成人在线| 欧美综合欧美视频| 亚洲欧美怡红院| 成人中文字幕合集| 欧美mv日韩mv国产网站app| 亚洲黄色性网站| caoporn国产一区二区| 亚洲精品在线观看视频| 亚洲国产一区二区a毛片| 成人午夜激情影院| 久久综合久久综合亚洲| 蜜桃精品视频在线| 欧美美女喷水视频| 亚洲成精国产精品女| 色综合久久中文综合久久97| 国产欧美精品一区aⅴ影院| 久草在线在线精品观看| 欧美人妇做爰xxxⅹ性高电影| 亚洲精品免费在线观看| av亚洲精华国产精华精华| 久久蜜桃一区二区| 激情图区综合网| 久久亚洲综合色一区二区三区| 天天综合天天综合色| 欧美午夜片在线看| 亚洲国产综合在线| 欧美日本免费一区二区三区| 亚洲成a天堂v人片| 4438成人网| 青青草精品视频| 日韩丝袜美女视频|