今天发现使用 $.get('/wiki/中文')
到后台有bug,因为传到后台的URL是按gbk进行编码的。网上查了半天有很多解决办法,其中有使用 encodeURI 等,也有的说设置:
$.ajaxSetup({
contentType:"application/x-www-form-urlencoded; charset=utf-8"
})
但是,因为我的中文是在URL上,而不是参数中,所以ajaxSetup的方法根本不起作用。我是用encodeURI来解决的。
另外关于这个contentType,在1.7.2+的版本已经是 "application/x-www-form-urlencoded; charset=utf-8",所以根本是不用设置的。但是它要发出去有两种可能:
- 传入了数据。所以没数据也不会送。更说明它是和参数相关的。
- 如果使用$.ajax传入了contentType参数也会强制送。这样象$.get和$.post之类的方法就用不了。