API 调用未在服务器节点代理中发生



update 1:

  • 更改 API 路径后,我可以点击 API 调用,但我收到此错误(node:13480) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 4): RangeError: Invalid status code: 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 serverservicesutilsResponseUtil.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--=->

响应利用.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);
}
})
}
},
  • 我正在通过句柄按键方法进行后期 api 调用。http://sports.com/run/play
  • 我正在尝试通过节点代理实现。
  • 现在电话发生在客户端,但我得到了404 Not Found
  • 我在服务器端进行了调试,但 api 调用没有启动。
  • 如果我在此方法中添加控制台,则不会打印任何内容
  • 甚至我在服务器的索引.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');
});
};
}

服务器

索引.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);

所有文件数据.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://sports.com/run/play发送HTTP请求,而不是您自己的服务器:

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

这就是为什么服务器端什么也没发生的原因。当GET http://sports.com/run/play返回404时,您也会收到404 Not Found错误。

最新更新