可以让jQuery Ajax()模拟HTML表单接受字符集参数吗?

可以让jQuery Ajax()模拟HTML表单接受字符集参数吗?,jquery,ajax,forms,svg,Jquery,Ajax,Forms,Svg,我使用“accept charset='utf-8'”将SVG数据发布到操作页面。在操作页面上,我将数据插入到一个表中。稍后,在另一个页面中,我从表中查询该数据,并通过Batik将其转换为PNG文件。它工作得很好 <form action="test_action.cfm" method="post" target="_blank" accept-charset="utf-8"> 在强制.ajax()执行类似于“accept charset=“utf-8”的操作时,是否有办法通过$

我使用“accept charset='utf-8'”将SVG数据发布到操作页面。在操作页面上,我将数据插入到一个表中。稍后,在另一个页面中,我从表中查询该数据,并通过Batik将其转换为PNG文件。它工作得很好

<form action="test_action.cfm" method="post" target="_blank" accept-charset="utf-8">
在强制.ajax()执行类似于“accept charset=“utf-8”的操作时,是否有办法通过$.ajax()发布此数据

根据,默认值已经是UTF-8。但是,根据这些文档,可以尝试使用
contentType
选项集中设置。您可能还想看看
processData
选项,因为它特别提到了XML处理

我同意您的分析,但是您是否验证了在上载过程中发生了损坏,或者转码()中出现了一些怪癖:您的正常文件上载和AJAX上载之间的运行情况可能略有不同

为了消除这种情况,与其直接处理代码转换,不如将数据写入SVG并在尝试代码转换之前进行测试(我的意思是,这只是一个故障排除步骤)

通过使用Firebug查看发送文件的服务器的请求,您可能会得到更多关于发生了什么的提示:比较这两种方法并寻找差异


恐怕这不是一个明确的答案,但可能需要看一些东西。

可能的重复不是重复,而是从不同的角度重述。抱歉,如果太相似了;我不会再提交类似的内容了。谢谢回复。我已经验证了在通过.ajax()发送数据时发生了这种情况。萤火虫没有透露太多。我不知道如何“看到”字符编码的变化。我采取了一种新方法,效果很好。我在一个隐藏的div中放置了一个表单和一个零帧。我正在使用jQuery提交到框架,该操作页面将数据发布到表中。它不会破坏数据,所以我自己的ajax是我的解决方案。。。
var lclSVG = $('#myDiv')[0].innerHTML;
$.ajax({
  url: "myAction.cfm",
  type: "POST",
  data: ({myInfo: lclSVG}),
});