3

在jQuery 表单插件的帮助下,我们正在上传一个文件以及常规表单字段。一切正常。但是如果有任何 utf-8 特殊字符,那么它会被转换成一些垃圾字符服务器端。检查请求标头时,我们发现内容类型 charset=utf-8 缺失。尝试在提交时添加内容类型,但没有任何帮助。

 var options = {
         success:       successfunc,
         contentType: 'multipart/form-data; charset=utf-8',
 };
 $("#formid").ajaxSubmit(options);

在分析 jQuery 脚本文件后我们发现

  var s = $.extend(true, {}, $.ajaxSettings, options, {
         contentType: false,
         processData: false,
         cache: false,
         type: 'POST'
     });

如果 jQuery 中的内容类型被更改,那么由于边界值问题,服务器代码无法获取请求参数。是否无法在单个 ajax 提交中上传文件并发送 utf-8 特殊字符?

4

0 回答 0