gpt4 book ai didi

javascript - 如何通过 AngularJS 服务传递多个参数来表达?

转载 作者:行者123 更新时间:2023-12-03 04:51:30 24 4
gpt4 key购买 nike

我已经从客户端传递了两个参数到 Express 端点,它在本地计算机上给了我结果,但是当我部署到 Linux 服务器时,它不起作用,没有错误,也没有响应?您认为这可能是参数问题吗?

客户端.js

getServerSearch:function(str,strEnv){
return $http.get("/serverSearch?searchTxt=" + str + '&searchEnv=' + strEnv);
}

服务器.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);
})

;

最佳答案

某些大于 127 的 ASCII 字符和 unicode 点需要在 UTF-8 中正确编码。并替换为 percent-encoding .

AngularJS $http 服务有一个内置的参数序列化器来执行此操作。

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;
});

}

此外,明智的做法是包含一个拒绝处理程序来查看任何内部框架错误或从服务器返回的错误。

另请参阅MDN JavaScript reference - encodeURIComponent().

关于javascript - 如何通过 AngularJS 服务传递多个参数来表达?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42637794/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com