0

我有一个托管在 tomcat 服务器中的 spring MVC 应用程序。我试图开发一个小部件,它可以嵌入到任何客户端应用程序中,以便在外部 spring MVC 应用程序中进行搜索。我在客户端应用程序中使用 JSONP 与外部应用程序进行通信。但我无法将日文字符作为请求参数传递到 spring mvc 应用程序中。这是我使用的客户端代码。

$.ajax({
type: "GET",
url : "http://abc.com:8080/myTestapp/search?callback=mycallback",                
data: ({name : $('#form-refineSearchQuery').val(),iDisplayStart : 0,iDisplayLength: 100}),
dataType: "jsonp",
beforeSend: function(x) {
    if (x && x.overrideMimeType) {
        x.overrideMimeType("application/j-son;charset=UTF-8");
}
},

jsonp : false,                                              

}); 

我有一个 ID 为 form-refineSearchQuery 的输入文本框,我在其中输入了一个日文字符。但是请求参数被编码成其他格式,并作为一些编码数据到达服务器,例如:æ??å¸?å?

这是我在输入文本框中给出的参数 - 有希子任何帮助?因为这个问题导致 spring 应用程序中的搜索失败

4

1 回答 1

0

嘿用户2330825!

问题来自 JSONP 的实现方式——它在 DOM 中创建一个脚本标签,并从那里作为 GET 请求提交,浏览器通常会忽略其中的任何编码规范,而是依赖于响应编码。尝试在响应的 Content-type 标头中添加一个 charset 属性(即,在服务器端的请求处理中set_header("Content-type", "text/javascript; charset=UTF-8"),看看这是否适合您。

于 2013-05-09T19:32:31.073 回答