微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

当从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...

我在我的页面中设置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
   });

和在我的asp.net页面

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

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

解决方法

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

原文地址:https://www.jb51.cc/jquery/184706.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐