Ajax中参数带有html格式的 传入后台保存

因业务需求  要讲如下编辑器中带有样式的数据传入数据库保存

第一种方法  json格式传入

 1   $(".privilegezn_page .btn_ok").click(function () {
 2         if (editor.html() == "")
 3         {
 4            alert("优惠使用指南内容不能为空")
 5         } else {
 6             var str = HTMLEncode(editor.html());
 7             console.log(str);
 8                 if (($("select")).length > 0) {
 9                     var hotelid = $("#hotel option:selected").attr("value");
10                 } else {
11                     var hotelid = $("#hotelid").val();
12                 }
13                 var cz = $("#xg").val();//操作名id
14                 var gnbh = $("#gnbh").val();
15                 var obj = new Object();
16                 obj.text = str;
17                 obj.xgid = hotelid;
1 function HTMLEncode(text){
2 text = text.replace(/&/g, "&") ;
3 text = text.replace(/</g, "‘<‘") ;
4 text = text.replace(/>/g, "‘>‘") ;
5 return text;
6 }

18                 obj.gnbh = gnbh;
19                 obj.cz = cz;
20                 console.log(JSON.stringify(obj));
21                 $.ajax({
22                     type: "POST",
23                     url: "/Business/yhsyznxg",
24                     data:{json:JSON.stringify(obj)},
25                     success: function (data) {
26                         var f = $.parseJSON(data);
27                         if (f.yz1) {
28                             alert("添加成功!");
29                             if ($("#yhsyzncx").length > 0) {
30                                 $("#yhsyzncx").trigger("click");
31                             } else {
32                                 location.replace(location.href);
33                             }
34                         }
35                         else if (f.yz1 == false) {
36                             alert("添加失败!");
37                             location.replace(location.href);
38                         }
39                         if (f.yz2) {
40                             alert("修改成功!");
41                             if ($("#yhsyzncx").length > 0) {
42                                 $("#yhsyzncx").trigger("click");
43                             } else {
44                                 location.replace(location.href);
45                             }
46                         }
47                         else if (f.yz2 == false) {
48                             alert("修改失败!");
49                             location.replace(location.href);
50                         }
51                     }
52                 });
53            }
54     })

后台页面:

 1  //优惠使用指南
 2         [HttpPost]
 3         public ActionResult yhsyznxg(string json)
 4         {
 5             JObject l = (JObject)JsonConvert.DeserializeObject(json);
 6             //数据库为空则添加
 7             int xgid = (int)l["xgid"];
 8             int gnbh = (int)l["gnbh"];
 9             int cz = (int)l["cz"];
10             string text = (string)l["text"];
11             string str = text.Replace("‘<‘", "<");   //解码去除 html中<  >
12             string str1 = str.Replace("‘>‘", ">");
13             var cx = db.yhsyzn.FirstOrDefault(u => u.hotelid == xgid);
14             JObject array = new JObject();
15             if (cx != null) //修改
16             {
17                 if (Session["yhid"] != null)
18                 {
19                     int id = (int)Session["yhid"];
20
21                     bool pd = qxyz.czyz(id, gnbh, cz); //为什么还要查询一遍权限
22                     if (pd)
23                     {
24                         yhsyzn a = db.yhsyzn.FirstOrDefault(u => u.hotelid == xgid);//查询到对应id
25                         a.text = str1;
26                         db.Entry(a).State = System.Data.Entity.EntityState.Modified;  //什么更新???
27                         db.SaveChanges();
28                         array["yz2"] = true;
29                     }
30                     else
31                     {
32                         array["yz2"] = false;
33                     }
34                 }
35                 else
36                 {
37                     array["yz2"] = false;
38                 }
39             }
40             else //添加
41             {
42                 if (Session["yhid"] != null)
43                 {
44                     int id = (int)Session["yhid"];
45                     bool pd = qxyz.czyz(id, gnbh, cz); //为什么还要查询一遍权限
46                     if (pd)
47                     {
48                         yhsyzn a = new yhsyzn();
49                             a.hotelid = xgid;
50                             a.text = text;
51                             db.yhsyzn.Add(a);
52                             db.SaveChanges();
53                             array["yz1"] = true;
54                     }
55                     else
56                     {
57                         array["yz1"] = false;
58                     }
59                 }
60             }
61             return Content(array.ToString());
62         }
时间: 2024-10-19 18:08:15

Ajax中参数带有html格式的 传入后台保存的相关文章

Ajax中参数带有html格式的 传入后台保存【二】

KindEditor.ready(function (K) { //编辑器插件 window.editor1 = K.create('#ctjs', { uploadJson: '/Hotelgl/UploadImage', allowFileManager: false , //允许图片管理 开启后再挑选图片的时候可以直接从图片空间内挑选 width: '480px', height: '150px', afterBlur: function () { this.sync(); } }); K

Ajax中返回数据的格式

Ajax中常见的返回数据的格式有三种:分别为文本,XML和JSON 返回的文本格式我们在上一堂课Ajax基础介绍中已经介绍过了 Ajax.php Form.html:通过Ajax对象的responseText属性就可以获取到返回的文本信息 XML格式 XML文件具有的几大特点: 标签没有预定义,开发者根据自己的需求发明标签 结构清晰,具有自我描述性.从XML文档就可以看出数据的内容 都是双标签 和HTML相似,同样也具有树结构 XML文件示例 Ajax返回XML示例 核心代码: 需要将MIME类

$.ajax()中参数详解。

身为一个程序员,就少不了与浏览器打交道,与浏览器打交道就少不了要使用到jquery,与jquery打交道就少不了要是用到$.ajax()这个方法.所以我们来看一下$.ajax这个方法. 首先看看权威的官方文档是怎么说的吧. ajax() 方法通过 HTTP 请求加载远程数据. 该方法是 jQuery 底层 AJAX 实现.简单易用的高层实现见 $.get, $.post 等.$.ajax() 返回其创建的 XMLHttpRequest 对象.大多数情况下你无需直接操作该函数,除非你需要操作不常用

JQuery中$.ajax()方法参数详解

url: 要求为String类型的参数,(默认为当前页地址)发送请求的地址. type: 要求为String类型的参数,请求方式(post或get)默认为get.注意其他http请求方法,例如put和 delete也可以使用,但仅部分浏览器支持. timeout: 要求为Number类型的参数,设置请求超时时间(毫秒).此设置将覆盖$.ajaxSetup()方法的全局设 置. async:要求为Boolean类型的参数,默认设置为true,所有请求均为异步请求. 如果需要发送同步请求,请将此选项

jQuery中$.ajax()方法参数解析

本文实例为大家讲解了jQuery $.ajax()方法参数,供大家参考,具体内容如下 $.ajax({ url:'test.do', data:{id:123,name:'xiaoming'}, type:'post', dataType:'json', success:function(data){ alert(data);//弹窗 //TODO ........ }, error:function(data){ alert(data);//弹窗 //TODO ........ } }) ur

JQuery中$.ajax()方法参数

url: 要求为String类型的参数,(默认为当前页地址)发送请求的地址. type: 要求为String类型的参数,请求方式(post或get)默认为get.注意其他http请求方法,例如put和 delete也可以使用,但仅部分浏览器支持. timeout: 要求为Number类型的参数,设置请求超时时间(毫秒).此设置将覆盖$.ajaxSetup()方法的全局设 置. async:要求为Boolean类型的参数,默认设置为true,所有请求均为异步请求. 如果需要发送同步请求,请将此选项

JQuery中$.ajax()方法参数详解 及 async属性说明

url: 要求为String类型的参数,(默认为当前页地址)发送请求的地址. type: 要求为String类型的参数,请求方式(post或get)默认为get.注意其他http请求方法,例如put和 delete也可以使用,但仅部分浏览器支持. timeout: 要求为Number类型的参数,设置请求超时时间(毫秒).此设置将覆盖$.ajaxSetup()方法的全局设 置. async:要求为Boolean类型的参数,默认设置为true,所有请求均为异步请求. 如果需要发送同步请求,请将此选项

Ajax中send方法参数的使用

一般情况下,使用Ajax提交的参数多是些简单的字符串,可以直接使用GET方法将要提交的参数写到open方法的url参数中,此时send方法的参数为null. 例如 : var url = "login.jsp?user=XXX&pwd=XXX"; xmlHttpRequest.open("GET",url,true); xmlHttpRequset.send(null); 此外,也可以使用send方法传递参数.使用send方法传递参数使用的是POST方法,需

ajax中的一些参数的含义及用法

jquery中的ajax方法参数的用法和他的含义: 1.url:  要求为String类型的参数,(默认为当前页地址)发送请求的地址. 2.type:  要求为String类型的参数,请求方式(post或get)默认为get.注意其他http请求方法,例如put和delete也可以使用,但仅部分浏览器支持. 3.timeout:  要求为Number类型的参数,设置请求超时时间(毫秒).此设置将覆盖$.ajaxSetup()方法的全局设置. 4.async:  要求为Boolean类型的参数,默