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

前端之家收集整理的这篇文章主要介绍了如何通过ajax请求发送html内容?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个带有textarea(tinymce)的表单用于输入内容.当我执行ajax请求时,我收到错误

A potentially dangerous Request.Form
value was detected from the client

然后我尝试了类似的东西

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

HTML

<form id="editForm" action="" method="post">
  <input type="text" id="title" name="title" />
  <textarea id="content" name="content"></textarea>
  <input type="button" id="submit" onclick="Submit();" />
</form>

脚本(我使用jQuery)

function Submit(){
 $.ajax({                
  url: 'ajax.aspx?type=addcontent&' + $('#editForm').serialize() + '&rnd=' + Math.random(),success: function(data) {
   alert('OK');
  }
 });
}

只要按下提交按钮,就会出现错误.没有发出ajax请求.我已经尝试将ValidateRequest =“false”添加到aspx页面,但问题仍然存在.

任何帮助表示赞赏!

解决方法

$.post('/foo',{ htmlContent: '<someHtml/>' },function(result) {
    alert('ok');
});

现在错误来自服务器端脚本,它不接受HTML. ASP.NET引擎将自动删除包含HTML的任何请求.有多种方法可以自行承担阻止此行为的风险.其中一个包括将ValidateRequest =“false”添加到aspx @Page头.

<%@ Page Language="C#" AutoEventWireup="false" ValidateRequest="false" %>

如果它是ASP.NET MVC应用程序,您可以使用[ValidateInput(false)]属性修饰要发布的控制器操作:

[HttpPost]
[ValidateInput(false)]
public ActionResult Foo()
{
    ...    
}

同样重要的是要注意,如果您运行的是.NET 4.0,则将以下内容添加到您的web.config中:

<httpRuntime requestValidationMode="2.0" />
原文链接:https://www.f2er.com/ajax/240932.html

猜你在找的Ajax相关文章