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. 例如 : ...
随机推荐
- TypeScript -- 面向对象特性
.class关键字和类名就可以定义一个类 . 类的访问控制符--有三个,.] = ] = ] = ;.声明参数 .用接口声明方法 .理解模块--一个文件就是一个模块,就是这么个意思 ,不用想的多么高大 ...
- 一步步优化JVM六:优化吞吐量
如果你已经进行完了前面的步骤了,那么你应该知道这是最后一步了.在这一步里面,你需要测试应用的吞吐量和为了更高的吞吐量而优化JVM. 这一步的输入就是应用的吞吐量性能要求.应用的吞吐量是在应用层面 ...
- js 中的 exec( )方法
JavaScript exec() 方法 JavaScript RegExp 对象 定义和用法 exec() 方法用于检索字符串中的正则表达式的匹配. 语法:RegExpObject.exec(str ...
- 最近一段时间get到的小知识(c++的)
(1)查看一个程序运行的时间 int main() { clock_t start,end; start=clock(); ... end=clock(); cout<<"Run ...
- 【Time系列四】查询各月份的日历
荒废了两个星期没学java了,今天一心想突破"日历查询"这个小程序.先用比较简单的python实现下. 无奈天资愚钝,想了一个上午.最后卡在了日期排列的问题上,只好去参考下别人的代 ...
- 人工手动冷备不完全恢复介绍(purge表不完全恢复)
不完全恢复不完全恢复的基本类型:1)基于时间点 (until time): 使整个数据库恢复到过去的一个时间点前2)基于scn (until change): 使整个数据库恢复到过去的某个SCN前3) ...
- UNIX基础--磁盘组织
磁盘组织 FreeBSD 查找文件的最小单位是文件名. 而文件名区分大小写,不凭文件扩展名去识别这个文件是 程序. 文档, 或是其他格式的数据. 在文件系统里目录和文件的作用是存储数据. 每一个文件系 ...
- javsscript总结
- json_encode不编码中文字符的方式
json_encode($array,JSON_UNESCAPED_UNICODE);
- 七天学会ASP.NET MVC (四)——Layout页面使用和用户角色管理 (代码下载)
中文翻译链接: http://www.cnblogs.com/powertoolsteam/p/MVC_four.html 360云盘: https://yunpan.cn/cYuEeLtXUvrgC ...