当从jquery post call发送html标记到asp.net页面时,从客户端检测到一个潜在的危险的Request.QueryString值

前端之家收集整理的这篇文章主要介绍了当从jquery post call发送html标记到asp.net页面时,从客户端检测到一个潜在的危险的Request.QueryString值前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我使用jQuery调用ajax到ASP.NET页面,作为我的ajax服务器页面,以保存在查询字符串中发送给它的数据。在ASP.NET页面,当我试图读取querystring我得到这个错误
A potentially dangerous Request.QueryString value was detected from the client...@H_301_3@ 
 

我在我的页面中设置ValidateRequest =“false”。不要为所有页面设置它。所以在页面级别而不是配置级别:

var content = "<h3>Sample header</h3><p>sample para</p>"
  content = encodeURIComponent(content);
  var url = "../Lib/ajaxhandler.aspx?mode=savecontent&page=home&ltxt=" + content;

     $.post(url,function (data) { 
       //check return value and do something
   });@H_301_3@ 
 

和在我的asp.net页面

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="ajaxhandler.aspx.cs" ValidateRequest="false" Inherits="MyProject.Lib.ajaxhandler" %>@H_301_3@ 
 

但是当我发送纯文本而不是html标记,它工作正常。

解决方法

如果这是ASP.NET 4,有一个 breaking change与ValidateRequest。有关requestValidationMode的更多信息,请参阅 this StackOverflow question

猜你在找的jQuery相关文章