jquery $.get() 时url有中文时在IE下的bug

今天发现使用 $.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”,所以根本是不用设置的。但是它要发出去有两种可能:

  1. 传入了数据。所以没数据也不会送。更说明它是和参数相关的。
  2. 如果使用$.ajax传入了contentType参数也会强制送。这样象$.get和$.post之类的方法就用不了。

你可能感兴趣的:(jquery $.get() 时url有中文时在IE下的bug)