Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何通过ajax请求发送html内容?_Html_Ajax_Jquery_Request_Send - Fatal编程技术网

如何通过ajax请求发送html内容?

如何通过ajax请求发送html内容?,html,ajax,jquery,request,send,Html,Ajax,Jquery,Request,Send,我有一个带有文本区(tinymce)的表单,用于输入内容。当我执行ajax请求时,出现了以下错误: 潜在危险的请求。表单 从客户端检测到值 然后我试过类似的方法 html.encodeURIComponent()或escape()但错误仍然存在 HTML: 我一按提交按钮,错误就出现了。没有提出ajax请求。我已尝试将ValidateRequest=“false”添加到aspx页面,但问题仍然存在 感谢您的帮助 $.post('/foo', { htmlContent: '<someHtm

我有一个带有文本区(tinymce)的表单,用于输入内容。当我执行ajax请求时,出现了以下错误:

潜在危险的请求。表单 从客户端检测到值

然后我试过类似的方法

html.encodeURIComponent()
escape()
但错误仍然存在

HTML:

我一按提交按钮,错误就出现了。没有提出ajax请求。我已尝试将
ValidateRequest=“false”
添加到aspx页面,但问题仍然存在

感谢您的帮助

$.post('/foo', { htmlContent: '<someHtml/>' }, function(result) {
    alert('ok');
});
如果是ASP.NET MVC应用程序,则可以使用以下属性装饰要发布到的控制器操作:

[HttpPost]
[ValidateInput(false)]
public ActionResult Foo()
{
    ...    
}
还需要注意的是,如果您运行的是.NET 4.0,您将在web.config中添加以下内容:

<httpRuntime requestValidationMode="2.0" />

在我看来,另一个有效但缓慢的选择是对HTML字符串进行base64编码。 我使用了jQuery的base64扩展:

var html = ...my html unsafe text...

var encodedHtml =  $.base64.encode(html);

我也这么想,所以我尝试对html内容进行编码,但仍然没有找到任何内容~。~您不需要对任何内容进行编码。如果您使用
数据
散列发送参数,jQuery将负责编码。您能给我一个例子或到tut的链接吗?谢谢!什么教程?您是否尝试了我的建议?在服务器端是否禁用了输入验证?如果是,你具体是如何做的?您正在使用的框架的哪个版本?这很酷:)否则序列化会出错,这要感谢Guy必须使用
btoa()
进行编码,使用
atob()
进行解码。
[HttpPost]
[ValidateInput(false)]
public ActionResult Foo()
{
    ...    
}
<httpRuntime requestValidationMode="2.0" />
var html = ...my html unsafe text...

var encodedHtml =  $.base64.encode(html);