通过AJAX在本网站上进行搜索,我遇到非英文字符问题。
我这里有这个代码:
$.ajax({
"type": "GET",
"url": '<%= url_for({:action => "update_search"}) %>?',
"data": query_string,
"dataType": 'script',
"success": function() {
search_done();
}
});
查询字符串包含要搜索的术语和一些其他参数。出于测试目的,我在JS端的成功函数中弹出alert
,并在{Rails'侧的puts
方法中将update_search
语句作为第一行。
以下是我遇到问题的奇怪之处:</ p>
用英语搜索时,一切正常;我在Rails控制台中看到puts
的警报和输出。在用中文搜索时,我仍然看到成功alert
,但update_search
没有。在Rails控制台中,我看到来自Mongrel的Invalid HTTP format, parsing fails
。
通过URL参数将外来字符传回服务器的正确方法是什么?
Rails版本是2.3.10,如果它有所作为。
答案 0 :(得分:1)
你应该这样做:
$.ajax({
"type": "GET",
"url": '<%= url_for({:action => "update_search"}) %>',
"data": query_string,
"dataType": 'script',
"success": function() {
search_done();
}
});
注意query_string
与网址的分离。根据{{3}},jQuery会自动执行,因此您无需处理所有内容。这可能会有所帮助。
告诉我它是否有帮助。
答案 1 :(得分:0)
This就是我用来解决这个问题的方法。