2
我有以下的角度工厂,职位要求到一个servlet(TOMCAT),在其反过来,访问DB发送/检索数据:Angular http后非拉丁字符转换为?
MyApp.factory('DB_Services', function($http , $q) {
var l_Result ;
var DB_Services = function(p_Query) {
var l_deferred = $q.defer();
var l_url = "http://localhost:8080/Services/Dispatcher?";
var l_params = 'request=' + JSON.stringify(p_Query) ;
console.log("DB_Services - l_params is: " + l_params) ;
var req = { url: l_url, method:"POST", headers: { 'Content-Type': 'application/x-www-form-urlencoded'
}, data: l_params
} ;
console.log("DB_Services - req is: " + JSON.stringify(req) ) ;
$http(req).
success(function(data, status, headers, config) {
console.log("DB_Services - Success; data is: " + JSON.stringify(data)) ;
l_deferred.resolve(data);
}).
error(function(data, status, headers, config) {
console.log("DB_Services - Error: " + data) ;
l_deferred.reject(status);
});
return l_deferred.promise;
} ;
return DB_Services;
});
的函数是“几乎”完美,而唯一的问题(至少现在)非拉丁字符返回为“?”。我检查了TOMCAT日志,在该日志中打印从DB中检索的内容并将其发回给客户端,并且所有非拉丁字符都显示为OK。
我想我错过告诉Angular/HTTP,响应是一个UTF-8字符编码的JSON。如果我的猜测是正确的,我该如何添加这些信息?
在此先感谢。
你在页面的head标签中是否有这一行:''? –
是的,我有。也许这会更关注我的问题。最初,在开始与数据库集成之前,我手动填充了所有语言的JSON,并显示OK。它看起来问题在于HTTP-POST处理聊天集。 – FDavidov
默认情况下,XmlHttpRequest使用'utf-8'。听起来像是服务器端或数据库问题 – charlietfl