[英]Encoding issue with AJAX request
通过AJAX在此网站上进行搜索,我遇到非英文字符的问题。
我在这里有此代码:
$.ajax({
"type": "GET",
"url": '<%= url_for({:action => "update_search"}) %>?',
"data": query_string,
"dataType": 'script',
"success": function() {
search_done();
}
});
查询字符串包含要搜索的术语以及其他一些参数。 为了进行测试,我在JS端的成功函数中弹出了一个alert
,在Rails端的update_search
方法中, puts
语句作为第一行。
这是我遇到的奇怪问题:
用英语搜索时,一切正常。 我在Rails控制台中看到警报和puts
的输出。 在中文搜索中,我仍然看到成功alert
,但是update_search
没有任何update_search
。 在Rails控制台中,我看到Invalid HTTP format, parsing fails
从Mongrel Invalid HTTP format, parsing fails
。
通过URL参数将外来字符传递回服务器的正确方法是什么?
如果有所不同,Rails版本为2.3.10。
您应该这样做:
$.ajax({
"type": "GET",
"url": '<%= url_for({:action => "update_search"}) %>',
"data": query_string,
"dataType": 'script',
"success": function() {
search_done();
}
});
注意将query_string
与URL分开。 根据.ajax()
的文档 ,jQuery是自动完成的,因此您无需处理所有事情。 这可能会有所帮助。
告诉我是否有帮助。
这就是我用来解决此问题的方法。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.