我有一个我在jQuery的帮助下发布的表单:
<form id="myForm" method="post" action="/processForm">
<input type="text" name="inputs" id="inputs"/>
<button id="submitButton">Submit Form</button>
</form>
$('#submitButton').click( function(event)
{
if(formValidatesOk())
{
$("#myForm").submit();
}
}
但根据Firebug在发布表单时报告的标题,表单中没有提交字符编码标题 - 只有这样:
Content-Type: application/x-www-form-urlencoded
我可以使用ajaxSetup强制执行utf-8字符编码:
$.ajaxSetup({
scriptCharset: "utf-8" ,
contentType: "application/json; charset=utf-8"
});
我不确定这是否可行,因为我在这里没有使用jQuery ajax - 我只是在表单上调用submit
?
答案 0 :(得分:0)
使用$.ajaxSetup
只会影响通过jQuery + AJAX发送的请求。您可以在用户点击提交时通过AJAX提交表单,然后在请求返回时强制重定向到另一个页面以强制执行utf-8。
答案 1 :(得分:0)
你不能,它只是不这样工作。 $.ajaxSetup()
实际上只是扩展了所有$.ajaxSettings
(和$.ajax()
)在执行时使用的the shorthand versions对象...它对任何没有效果其他类型的服务器请求,它专门用于jQuery的ajax操作(或任何构建在它们上面的任何操作)......但完全不会影响页面中的默认<form>
行为。