Ajax中参数带有html格式的 传入后台保存【一】
因业务需求 要讲如下编辑器中带有样式的数据传入数据库保存



第一种方法 json格式传入
$(".privilegezn_page .btn_ok").click(function () {
if (editor.html() == "")
{
alert("优惠使用指南内容不能为空")
} else {
var str = HTMLEncode(editor.html());
console.log(str);
if (($("select")).length > 0) {
var hotelid = $("#hotel option:selected").attr("value");
} else {
var hotelid = $("#hotelid").val();
}
var cz = $("#xg").val();//操作名id
var gnbh = $("#gnbh").val();
var obj = new Object();
obj.text = str;
obj.xgid = hotelid;
function HTMLEncode(text){
text = text.replace(/&/g, "&") ;
text = text.replace(/</g, "'<'") ;
text = text.replace(/>/g, "'>'") ;
return text;
}
obj.gnbh = gnbh;
obj.cz = cz;
console.log(JSON.stringify(obj));
$.ajax({
type: "POST",
url: "/Business/yhsyznxg",
data:{json:JSON.stringify(obj)},
success: function (data) {
var f = $.parseJSON(data);
if (f.yz1) {
alert("添加成功!");
if ($("#yhsyzncx").length > 0) {
$("#yhsyzncx").trigger("click");
} else {
location.replace(location.href);
}
}
else if (f.yz1 == false) {
alert("添加失败!");
location.replace(location.href);
}
if (f.yz2) {
alert("修改成功!");
if ($("#yhsyzncx").length > 0) {
$("#yhsyzncx").trigger("click");
} else {
location.replace(location.href);
}
}
else if (f.yz2 == false) {
alert("修改失败!");
location.replace(location.href);
}
}
});
}
})
后台页面:
//优惠使用指南
[HttpPost]
public ActionResult yhsyznxg(string json)
{
JObject l = (JObject)JsonConvert.DeserializeObject(json);
//数据库为空则添加
int xgid = (int)l["xgid"];
int gnbh = (int)l["gnbh"];
int cz = (int)l["cz"];
string text = (string)l["text"];
string str = text.Replace("'<'", "<"); //解码去除 html中< >
string str1 = str.Replace("'>'", ">");
var cx = db.yhsyzn.FirstOrDefault(u => u.hotelid == xgid);
JObject array = new JObject();
if (cx != null) //修改
{
if (Session["yhid"] != null)
{
int id = (int)Session["yhid"]; bool pd = qxyz.czyz(id, gnbh, cz); //为什么还要查询一遍权限
if (pd)
{
yhsyzn a = db.yhsyzn.FirstOrDefault(u => u.hotelid == xgid);//查询到对应id
a.text = str1;
db.Entry(a).State = System.Data.Entity.EntityState.Modified; //什么更新???
db.SaveChanges();
array["yz2"] = true;
}
else
{
array["yz2"] = false;
}
}
else
{
array["yz2"] = false;
}
}
else //添加
{
if (Session["yhid"] != null)
{
int id = (int)Session["yhid"];
bool pd = qxyz.czyz(id, gnbh, cz); //为什么还要查询一遍权限
if (pd)
{
yhsyzn a = new yhsyzn();
a.hotelid = xgid;
a.text = text;
db.yhsyzn.Add(a);
db.SaveChanges();
array["yz1"] = true;
}
else
{
array["yz1"] = false;
}
}
}
return Content(array.ToString());
}
Ajax中参数带有html格式的 传入后台保存【一】的更多相关文章
- Ajax中参数带有html格式的 传入后台保存【二】
KindEditor.ready(function (K) { //编辑器插件 window.editor1 = K.create('#ctjs', { uploadJson: '/Hotelgl/U ...
- Ajax中返回数据的格式
Ajax中常见的返回数据的格式有三种:分别为文本,XML和JSON 返回的文本格式我们在上一堂课Ajax基础介绍中已经介绍过了 Ajax.php Form.html:通过Ajax对象的response ...
- Ajax中XML和JSON格式的优劣比较
刚做完一个小的使用Ajax的项目.整个小项目使用JavaScript做客户端,使用PHP做服务器端.利用xmlHttpRequest组件作为交互工具,利用XML作为数据传输的格式.做完后基本做一个简单 ...
- ajax中url赋json格式的值时发生中文乱码的相关问题
具体流程:转入到jsp界面时会加载ajax,ajax转到url时传带hide在jsp界面的值titleString,其来源见下面的代码. String title=new String("\ ...
- ajax中参数traditional的作用
在使用ajax向后台传值的时候,有的时 $.ajax({ type: "post", async: true, data: { "records": [&quo ...
- SQL查询语句中参数带有中文查询不到结果
今天写个小demo的时候发现sql语句里面的username为中文的时候就不能查到正确结果,sql语句如下: String sql = "select * from user where u ...
- SpringMVC中使用Ajax POST请求以json格式传递参数服务端通过request.getParameter("name")无法获取参数值问题分析
SpringMVC中使用Ajax POST请求以json格式传递参数服务端通过request.getParameter("name")无法获取参数值问题分析 一:问题demo展示 ...
- JQuery中$.ajax()方法参数详解 及 async属性说明
url: 要求为String类型的参数,(默认为当前页地址)发送请求的地址. type: 要求为String类型的参数,请求方式(post或get)默认为get.注意其他http请求方法,例如put和 ...
- 【转】Ajax中send方法参数的使用(get/post)
Ajax中send方法参数的使用 一般情况下,使用Ajax提交的参数多是些简单的字符串,可以直接使用GET方法将要提交的参数写到open方法的url参数中,此时send方法的参数为null. 例如 : ...
随机推荐
- ipad 横屏 竖屏 CSS
/* iPads (landscape) ----------- */ @media only screen and (min-device-width : 768px) and (max-devic ...
- Netty(7)源码-ByteBuf
一.ByteBuf工作原理 1. ByteBuf是ByteBuffer的升级版: jdk中常用的是ByteBuffer,从功能角度上,ByteBuffer可以完全满足需要,但是有以下缺点: ByteB ...
- gamma
图:显卡(驱动程序)上的Gamma设置 图:ACDSEE中的曝光调节 二. 什么是Gamma? 2.1. 显示器Gamma曲线 Gamma可能源于CRT(显示器/电视机)的响应曲线,即其亮度与输入电压 ...
- DuiLib 中滚动条不显示的问题
DuiLib 很好用,同时在没有完全理解源码的前提下,坑也不少,比如今天遇到的添加滚动条不显示... 情况是这样的,将一个页面作为Tab控件的其中一页,为了代码不窝在一起,就没有在CreateCont ...
- C# IIS7.0+ Web.Config 配置Session过期时间
1. 2. 3. <sessionState mode="InProc" timeout="120"></sessionState>
- Web Scraper使用
{ "selectors": [{ "parentSelectors": ["_root"], "type": &quo ...
- Servlet源码初探
年底,公司的事情告一段落,就来捣鼓一下这个Servlet源码,为下一步的spingmvc源码初探做准备 1.Servlet接口 public interface Servlet { void init ...
- AsyncHttpClient 中的重定向和 setEnableRedirects 方法异常解决
今天使用 AsyncHttpClient 开源库,遇到个很崩溃的问题: 方法 setEnableRedirects(false); 从名称上看应该是重定向开关的方法,设置为 false 后则普通请 ...
- 转:iOS 屏幕适配,autoResizing autoLayout和sizeClass图文详解
1. autoResizing autoresizing是苹果早期的ui布局适配的解决办法,iOS6之前完全可以胜任了,因为苹果手机只有3.5寸的屏幕,在加上手机app很少支持横屏,所以iOS开发者基 ...
- 《C++反汇编与逆向分析技术揭秘》——基本数据类型的表现形式
---恢复内容开始--- 基本的浮点数指令 示例代码: Visual Studio 2013的反汇编代码是: 对于movss,表示移动标量单精度浮点值 将标量单精度浮点值从源操作数(第二个操作数)移到 ...