Javascript 通过$post发送html数据失败
我正在使用下面的代码,这很好,但是当我试图将html片段发送到处理页面以将其保存为文件时,我什么也没有得到 我曾尝试使用ajax,将processData设置为html、文本和xml的虚假ads数据类型,但没有任何效果。我在这上面找不到任何东西,所以我想我一定错过了一些相当琐碎的东西,但我已经做了3个小时了Javascript 通过$post发送html数据失败,javascript,jquery,html,ajax,http-post,Javascript,Jquery,Html,Ajax,Http Post,我正在使用下面的代码,这很好,但是当我试图将html片段发送到处理页面以将其保存为文件时,我什么也没有得到 我曾尝试使用ajax,将processData设置为html、文本和xml的虚假ads数据类型,但没有任何效果。我在这上面找不到任何东西,所以我想我一定错过了一些相当琐碎的东西,但我已经做了3个小时了 This works $.post("SaveFile.aspx", {f: "test4.htm", c: "This is a test"}, function(data){
This works
$.post("SaveFile.aspx", {f: "test4.htm", c: "This is a test"},
function(data){
alert(data);
}, "text");
This fails
$.post("SaveFile.aspx", {f: "test4.htm", c: "<h1>This is a test</h1>"},
function(data){
alert(data);
}, "text");
这很有效
$.post(“SaveFile.aspx”,{f:“test4.htm”,c:“这是一个测试”},
功能(数据){
警报(数据);
}“文本”);
这失败了
$.post(“SaveFile.aspx”,{f:“test4.htm”,c:“这是一个测试”},
功能(数据){
警报(数据);
}“文本”);
首先尝试值,如下所示
它可以按预期将xml发送到端点
var value = encodeURIComponent("<h1>This is a test</h1>");
$.post("SaveFile.aspx", {f: "test4.htm", c:value },
function(data){
alert(data);
}, "text");
var value=encodeURIComponent(“这是一个测试”);
$.post(“SaveFile.aspx”,{f:“test4.htm”,c:value},
功能(数据){
警报(数据);
}“文本”);
如果服务器出现错误,将不会调用.post success函数。尝试使用.ajax并传递一个成功和错误函数 它认为您的错误来自asp.net中的ValidateRequest。如果要对所有页面执行此操作,则在没有对html进行html编码或禁用aspx页面的@page指令或web.config中的ValidateRequest参数的情况下,无法将普通html发送到asp.net页面
想了解更多关于asp.net的信息吗?Visit我怀疑服务器上是否有错误,因为他基本上每次都将相同的输入传递到相同的位置,只是第二个位置中有一些标记。虽然我也怀疑,但更清楚地说,这是两个代码片段之间的唯一区别。你说失败是什么意思?浏览器错误控制台中是否有错误,是否调用回调。您在服务器日志中看到ajax调用了吗。或者尝试Sky Sanders建议的
c:encodeURIComponent(“这是一个测试”)
您使用Firefox吗?安装Firebug,您将能够准确地看到发送的内容和返回的内容。注意:禁用validateRequest可能是一个安全漏洞。因此,您最好使用HtmlConding并使用白名单来验证没有人发送脚本标记,因为这可能是一种潜在的xss攻击。