考虑$("#"+id).val()
到
var field = document.getElementById( id );
/* ... */
if( field.value != "" )
var jqxhr = $.get( "/user/ajaxtag/tag/" + $("#"+id).val(), function( data ) {
suggestionText = data;
//does something which i thing is non of problem's business
var arr = getListItems( field.value );
if ( field.value.length > 0 ){
createList( arr );
} else {
clearList();
};
// end of non of business
});
当在输入框中使用英文触发这段代码更改时,ajax请求响应成功,但是当使用像“س”这样的波斯语时,IE会发送这个
GET /user/ajaxtag/tag/??_=1338567574102 HTTP/1.1\r\n
(我在wireshark上得到了这个信息)并用?替换了utf8字符,当我使用firefox时不会出现问题,只在ie中(这并不奇怪哈?)我在标题中有这一行
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
在 stackoverflow.com 上的另一个问题中,有人建议更改 php.ini,但我在共享主机上并且无权访问该文件。
我做到了alert( $( "#" + id ).val() )
,但警告的事情不是?是输入字符.. 就像 س