繁体   English   中英

AJAX请求的编码问题

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM