我的项目是用C#MVC构建的。假设它托管在 abc.com 上。 在 Controller:Home 和方法:ClientInfo 上为ex的资源进行的Ajax调用将是:
url:' / Home / ClientInfo'
出于测试目的,我已假设 xyz.com/web 部署了相同的项目 在这种情况下,我的主页是xyz.com/web。 现在ajax调用资源Controller:Home和Method:ClientInfo使用相同的ajax url' / Home / ClientInfo'正在返回404 Not Found。 因为网址应该是
url:' / web / Home / ClientInfo'
处理此问题的一种方法是在整个项目中编辑所有ajax网址,这看起来并不正确。 我有共同的布局我可以用javascript编写代码来路由所有网址目录' / web'或者还有其他方式吗?
*注意:我无法控制xyz.com的web.config来处理调用并在那里编写规则。
请建议
答案 0 :(得分:0)
您可以创建一个导出API路径的JavaScript文件,并在需要路由时导入它,因此您需要在需要时更改一个点。
示例ES6
使用API路由调用routes.js
的文件:
export const API = '/web/';
export const CLIENT_INFO_API = `${API}home/clientinfo`;
然后,当您需要在其他文件中使用路由时:
//Import routes file
import * as ROUTES from 'routes.js';
//Use the routes
ROUTES.API
ROUTES.CLIENT_INFO_API
示例ES5
使用API路由调用routes.js
的文件:
var routes = {};
routes.API = '/web/';
routes.CLIENT_INFO_API = routes.API+'home/clientinfo';
module.exports = routes;
然后,当您需要在其他文件中使用路由时:
//Import routes file
const ROUTES = require('routes.js');
//Use the routes
ROUTES.API
ROUTES.CLIENT_INFO_API