我在tomcat服务器上托管了一个spring MVC应用程序。 我试图开发一个可以嵌入任何客户端应用程序进行搜索的小部件 在外部弹簧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应用程序中的搜索失败
答案 0 :(得分:0)
嘿有用户2330825!
问题来自JSONP的实现方式 - 它在DOM中创建一个脚本标记,并从那里作为GET请求提交,浏览器通常会忽略任何编码规范,而是依赖于响应编码。尝试在响应中的Content-type标头中添加charset属性(即,在服务器端的请求处理中set_header("Content-type", "text/javascript; charset=UTF-8"
),并查看它是否适合您。