我有一个带有字符串参数的 ASP.NET Web 服务 (asmx) 函数。如果 dataType 未设置为 json (ValidateRequest="true"),则内置请求验证应捕获 HTML 标记,并且在使用自动生成的 localhost 测试页面或使用 jQuery 的 ajax/post 时有效。
WithdataType:"json"
HttpRequestValidationException
没有被触发:
$.ajax({
type: "POST",
url: "/my.asmx/SetName",
data: '{"name":"' + $("#name").val() + '"}',
contentType: "application/json; charset=utf-8",
dataType: "json",
async: false
});
如果我删除contentType
并dataType
得到预期的HttpRequestValidationException
.
这让我的 ws 很脆弱。不幸的是,WCF 不是一种选择。