首页 新闻 会员 周边

MVC中前台JS获取html页面部分代码传值到后台不能接收,有什么解决办法?

0
悬赏园豆:30 [已解决问题] 解决于 2016-04-08 11:29

获取的代码中包含“<”、"/"等特殊字符后台就不能接收。

前台JS代码:


$("#btn").click(function () {

// var txt = "tttttttttttt";
var txt = document.getElementsByTagName('html')[0].innerHTML;
alert(txt);
//$("#op").val(txt);
// var txt1 = $("#op").val();
// alert(txt1);
// // var txt = $("#celog").html();
// //var txt = $("h3").innerHTML;
//// var tx = document.getElementById("h2").value();
// //alert(txt);
// //var text = JSON.stringify(txt);
// $.post("/ZDLog/Totxt", { namestr: JSON.stringify(txt1) });
$.ajax({
url: "/ZDLog/Totxt",
type: "post",
data: "namestr=" + txt,
dataType:"UTF-8",
success: function (data) {
if (data =true) {
alert("保存成功!");
}
else {
alert("保存失败");
}
}
});
});

后台方法:

[HttpPost]
public bool Totxt(string namestr)
{

if (namestr != null)
{
StreamWriter sw = new StreamWriter(@"D:\\1234.doc", true, System.Text.Encoding.UTF8);
sw.Write(namestr );
sw.Flush();
sw.Dispose();
return true;
}
else
{
return false;

}
}

 

m869485074的主页 m869485074 | 初学一级 | 园豆:86
提问于:2016-04-08 10:58
< >
分享
最佳答案
0
        [HttpPost]
        [ValidateInput(false)]

 

收获园豆:12
大楚打码人 | 老鸟四级 |园豆:4313 | 2016-04-08 11:08

谢谢大神,试了下可以了。

m869485074 | 园豆:86 (初学一级) | 2016-04-08 11:25
其他回答(4)
0

怎么会捏、页面name保持字段一致。

Ctrl` | 园豆:3317 (老鸟四级) | 2016-04-08 10:59

上面这个函数可以接收普通字符串,但是传HTML代码namestr就为null。

支持(0) 反对(0) m869485074 | 园豆:86 (初学一级) | 2016-04-08 11:02

@m869485074: 获取html的元素的话...貌似应该用dom那种的接收吧。追加个...那啥来着、忘了。找找看

支持(0) 反对(0) Ctrl` | 园豆:3317 (老鸟四级) | 2016-04-08 11:10

@g皓皓: 谢谢了,楼下大神说方法加个[ValidateInput(false)]特性就可以了。

支持(0) 反对(0) m869485074 | 园豆:86 (初学一级) | 2016-04-08 11:23
0

转义撒

收获园豆:3
小光 | 园豆:1766 (小虾三级) | 2016-04-08 11:03
0

贴一下错误信息。

按你的描述,在ToTxt方法上加上特性

[ValidateInput(false)]

 

收获园豆:12
写代码的小2B | 园豆:4371 (老鸟四级) | 2016-04-08 11:04

谢谢,真的可以。

支持(0) 反对(0) m869485074 | 园豆:86 (初学一级) | 2016-04-08 11:21
0

用jsonresult  returnjson

收获园豆:3
JCdon | 园豆:2 (初学一级) | 2016-04-08 11:13
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册