我从客户端传递了两个params来表示端点它在我的本地机器上给我结果但是当我部署到linux服务器时它不工作没有错误而且没有响应?你认为它可能是params问题吗?
client.js
getServerSearch:function(str,strEnv){
return $http.get("/serverSearch?searchTxt=" + str + '&searchEnv=' + strEnv);
}
server.js
app.get('/serverSearch', function (req, res) {
var searchTxt = req.query.searchTxt;
var searchEnv = req.query.searchEnv;
searchFileService.readFile(searchTxt,searchEnv,function(lines,err){
console.log('Logs',lines);
if (err)
return res.send();
res.json(lines);
});
console.log('Search text', searchTxt);
})
答案 0 :(得分:1)
某些ASCII字符和大于127的unicode点需要在UTF-8中正确编码,并替换为percent-encoding。
AngularJS $ http服务有一个内置的param序列化程序来做到这一点。
function getServerSearch(str,strEnv){
//return $http.get("/serverSearch?searchTxt=" + str + '&searchEnv=' + strEnv);
var params = {};
params.searchTxt = str;
params.searchEnv = strEnv;
return $http.get("/serverSearch", { params: params })
.catch(function(errorResponse) {
console.log(errorResponse);
throw errorResponse;
});
}
同样明智的做法是包含拒绝处理程序以查看从服务器返回的任何内部框架错误或错误。