gpt4 book ai didi

javascript - 服务器 Node 代理中未发生 api 调用

转载 作者:行者123 更新时间:2023-12-02 23:29:49 24 4
gpt4 key购买 nike

更新1:

  • 更改 api 路径后,我能够进行 api 调用,但收到此错误 (node:13480) UnhandledPromiseRejectionWarning: 未处理的 promise 拒绝(拒绝 id: 4): RangeError: 无效状态代码: respose utilcallService if--=->
  • 它指向我的 Resposne Util.js 文件。
  • 在下面提供我的代码片段

服务器日志

  [nodemon] restarting due to changes...
[nodemon] starting `node node server/index.js`
index DocumentService---> function router(req, res, next) {
router.handle(req, res, next);
}
index allFileDataService---> function router(req, res, next) {
router.handle(req, res, next);
}
controllers---> [ 'C:/codebase/server/controllers/root.js' ]
server is listening on 1010
callService ===> /ewwewe/ewd
URL ===> http://wqqwdqw.com/ewwewe/ewd
allFileData 40---> smart
for allFileData Testing0---> smart
AppConstants.GET_JWT_TOKEN_URL---> https://credentials.login.js
jwt then-----> sdsd
then formatUrl ---> http://sports.com/run/play
allFileData suceess then0--->
callService ===> /sdsssd/sdsdsd/data
else else if contentcatalogs responseutil.jsURL ===> http://sports.com/run/play
URL ===> http://sports.com/run/play
express deprecated res.send(status, body): Use res.status(status).send(body) instead server\services\utils\ResponseUtil.js:58:30
(node:13480) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 2): RangeError: Invalid status code: respose utilcallService if--=->
(node:13480) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
allFileData 40---> smart
for allFileData Testing0---> smart
AppConstants.GET_JWT_TOKEN_URL---> https://credentials.login.js
jwt then-----> sdsd
then formatUrl ---> http://sports.com/run/play
allFileData suceess then0--->
callService ===> /sdsssd/sdsdsd/data
else else if contentcatalogs responseutil.jsURL ===> http://sports.com/run/play
URL ===> http://sports.com/run/play
(node:13480) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 4): RangeError: Invalid status code: respose utilcallService if--=->

ResponseUtil.js

callService: (res, url, uri) => {

console.log(" callService ===> ", url);



var formatUrl;

if (uri) {
formatUrl = uri + url;
}
else if (url == "/sdklsdklsd/sdklsdkllsdk/sdklklklsd") {
formatUrl = AppConstants.REST_API_DNS_NAME_CONTENT_CENTRAL + url;
console.log(" else if responseutil.jsURL ===> ", formatUrl);


}else if (url == "/sdsssd/sdsdsd/data") {
formatUrl = AppConstants.REST_API_DNS_NAME_CONTENT_CENTRAL + url;
console.log("else else if contentcatalogs responseutil.jsURL ===> ", formatUrl);


} else {
formatUrl = AppConstants.REST_API_DNS_NAME + url;
}

console.log(" URL ===> ", formatUrl);

process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";
//console.log( " local Token => ", authJwtToken);
if (!credentials.auth.jwtToken) {

axios.get(AppConstants.GET_JWT_TOKEN_URL, {
auth: {
username: credentials.auth.racfId, password: credentials.auth.password
}
})
.then((jwtResponse) => {
//console.log('------jwtResponse Res------>>>> ', jwtResponse)
var jwtToken = `Bearer ${jwtResponse.data.jwt}`;
//console.log('------Token Res------>>>> ', jwtToken)
axios.get(formatUrl, { headers: { "Authorization": jwtToken } })
.then((response) => {
return res.json(response.data);
})
.catch((error) => {
if (error.response) {
return res.send(" respose utilcallService if--=->",error.response.data);
}
else {
return res.send("callService else--=->",error);
}

})

})
.catch((error) => {
return res.send("callService second catch",error);
})
;
}
else {
var authJwtToken = `Bearer ${credentials.auth.jwtToken}`;
axios.get(formatUrl, { headers: { "Authorization": authJwtToken } })
.then((response) => {
return res.json(response.data);
})
.catch((error) => {
if (error.response) {
return res.send(error.response.data);
}
else {
return res.send(error);
}
})

}

},
  • 我正在通过handleKeyPress方法进行post api调用。http://sports.com/run/play
  • 我正在尝试通过 Node 代理来实现。
  • 现在调用发生在客户端,但我收到 404 Not Found
  • 我在服务器端进行了调试,但 api 调用没有发生。
  • 如果我在此方法中添加控制台,则不会打印任何内容
  • 即使我在服务器的index.js中添加了正确的路由
  • 你能告诉我如何解决这个问题吗?
  • 在下面提供我的客户端、服务器和日志

客户端API调用

handleKeyPress = e => {

console.log("handleKeyPress--->", e);


if (e.keyCode === 13) {
this.setState({ open: false });
if (e.target.value) {
this.setState({
display: !this.state.display,
chipName: this.state.value,
imageName: this.state.value,
});
// this.props.selectedValue(this.state.value);
}
}

this.props.actions.allFileDataData(this.getResultData);
};

操作文件

export function allFileDataData(callback) {

console.log(" downloadDocumentData----> ");



var height = 'gr';
var searchVal = height;
var searchMode = 'smart';

//we are using this replace method to hack the name search Mode
height = height.replace('/', '%2F');
height = height.replace('#', '%23');
height = height.replace('+', '%2B');
height = height.replace('.', '%2E');
height = height.replace(/'|-/g, "");
height = height.replace(/ /g, "%20");

let environment = globalConfig.getConfig('environment');
searchVal = searchVal.replace(/'|-/g, "");

var url = `/psv/api/v1/allFileData/${searchMode}/${height}`;
console.log(" fetchProviderData Url---> ", url);
if (environment !== "local") {
url = `/psv/api/v1/allFileData/${searchMode}/${searchVal}`;
console.log(" inside if fetchProviderData Url---> ", url);
}
console.log(" Url----> ", url, searchMode, searchVal, height);

const apiValues = {};

let skysData = [];
let skyData = {};

skyData.name = 'Tax ID';
skyData.value = '800346628'; //providerPimsIds;
skysData.push(skyData);

apiValues.fieldFilters = skysData;



console.log("skyDatas--->", apiValues);
const URL = `http://sports.com/run/play`;

return (dispatch) => {

axios
.post(URL, apiValues)
.then(response => {
console.log("then this.props--->", this);
// callback(response);

console.log('success postpostByContractFilterUploadLOA');
}).catch(err => {


console.log('error postByContractFilter');

});

};
}

服务器

index.js

const allFileDataService = require('./allFileData/allFileData');
console.log("index allFileDataService--->", allFileDataService);

index allFileDataService---> function router(req, res, next) {
router.handle(req, res, next);
}

router.use('/allFileData', allFileDataService);

allFileData.js

const express = require('express');
const axios = require('axios');
const mime = require('mime-types');

const router = express.Router();
const ResponseUtil = require('../../utils/ResponseUtil');
const AppConstants = require('../../../constants/AppConstants');

const credentials = require('../../../internals/credentials.json');

const memberGroupingHelper = require('../../wewewe/wewewewe/memberGrouping');
const exportHelper = require('../../wewewe/wewewewe/pcpExportHelper');
const formatExportData = require('../../wewewe/wewewewe/formatExportData');

const pcpCommonHelper = require('../../wewewe/wewewewe/pcpCommonHelper');
const pcpProvDataHelper = require('../../helpers/group/getProvData');


const { PcpAggregateProvidersApi } = require('erererer');


router.get('/:searchMode/:height', (req, res, next) => {


const { originalUrl } = req;


const mode = req.params.searchMode;

const value = encodeURIComponent(req.params.height);


console.log("allFileData 40--->", mode);
console.log("for allFileData Testing0--->", mode);

const url = `/sdsssd/sdsdsd/data`;
console.log("AppConstants.GET_JWT_TOKEN_URL--->", AppConstants.GET_JWT_TOKEN_URL);

var formatUrl = AppConstants.REST_API_DNS_NAME_CONTENT_CENTRAL + url;
const apiValues = {};

let skysData = [];
let skyData = {};

skyData.name = 'dfdfdf ID';
skyData.value = 'dfdfdfdff'; //providerPimsIds;
skysData.push(skyData);

apiValues.fieldFilters = skysData;


axios.get(AppConstants.GET_JWT_TOKEN_URL, {
auth: {
username: credentials.auth.racfId, password: credentials.auth.password
}
})
.then((jwtResponse) => {
console.log("jwt then----->", jwtResponse.data.jwt);
console.log('then formatUrl --->', formatUrl);
return axios.post(formatUrl, apiValues, {
headers: {
"Authorization": `Bearer ${jwtResponse.data.jwt}`,
"Content-Type": 'application/json'

}
})

.then((response) => {
// try {
console.log("allFileData suceess then0--->");

return ResponseUtil.callService(res, url);

})

.catch((e) => {
// Catch any error that occurred in the promise chain...
if (e.response) {
return res.status(e.response.status).send(e.response.data);
}
return res.status(500).send(e.message || 'Something wrong');
});

});


// ResponseUtil.callService(res, url);



});

module.exports = router;

服务器日志

[nodemon] restarting due to changes...
[nodemon] restarting due to changes...
[nodemon] starting `node node server/index.js`
index DocumentService---> function router(req, res, next) {
router.handle(req, res, next);
}
index allFileDataService---> function router(req, res, next) {
router.handle(req, res, next);
}
controllers---> [ 'C:/codebase/server/controllers/root.js' ]
server is listening on 1010
callService ===> /ewwewe/ewd
URL ===> http://wqqwdqw.com/ewwewe/ewd

最佳答案

根据您的代码,您正在将 HTTP 请求发送到 http://sports.com/run/play,而不是您自己的服务器:

const URL = `http://sports.com/run/play`;
return (dispatch) => {
axios
.post(URL, apiValues)
//...
};

这就是为什么服务器端没有发生任何事情。由于 GET http://sports.com/run/play 返回 404,您也会收到 404 Not Found 错误。

关于javascript - 服务器 Node 代理中未发生 api 调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56563414/

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