当前位置: 首页 > wzjs >正文

网站建设】vs2015 做网站

网站建设】,vs2015 做网站,普宁市建设局网站,网站降权后 换域名背景 因为在不同的启动环境下,获取上下文路径的方式需要有所调整。在 IDEA 中运行时,路径是基于当前页面的 URL(如 index.html),而在 Tomcat 部署时,它是基于项目上下文路径(如 ssm-project&am…

背景

因为在不同的启动环境下,获取上下文路径的方式需要有所调整。在 IDEA 中运行时,路径是基于当前页面的 URL(如 index.html),而在 Tomcat 部署时,它是基于项目上下文路径(如 ssm-project)。

为了解决这个问题,我们需要动态适配不同的环境,确保无论是本地开发环境还是部署在 Tomcat 中,contextPath 都能够正确获取。

解决方案:

  1. 使用 window.location.origin 获取根路径:这可以帮助我们从当前的 URL 获取正确的协议(http://https)、主机名(localhost 或其他)以及端口号(如 8080)。然后,我们可以利用它来拼接出正确的 contextPath

  2. 使用 window.location.pathname 获取上下文路径:基于 pathname 来获取正确的项目路径。

改进后的代码:

<script type="text/javascript">$(function(){// 获取当前页面的上下文路径var pathname = window.location.pathname;var contextPath = '';// 判断项目是否部署在子目录下(例如 /ssm-project/)if (pathname.split('/').length > 2) {contextPath = pathname.split('/')[1];  // 提取项目名}// 如果 contextPath 为空,说明是根路径(开发环境),设置为 ''if (contextPath === "") {contextPath = "";  // 根路径}// 确保 contextPath 后面有一个斜杠if (contextPath && !contextPath.endsWith('/')) {contextPath += '/';}// 确保 window.location.origin 以斜杠结尾var origin = window.location.origin;if (!origin.endsWith('/')) {origin += '/';}// 打印 contextPath 和最终请求 URL(用于调试)console.log('contextPath:', contextPath);var requestUrl = origin + contextPath + 'Agency/GetMessage';console.log('Request URL:', requestUrl);  // 确保这里打印出来的 URL 是正确的// 执行 AJAX 请求$.ajax({url: requestUrl,  // 使用拼接的 URLsuccess: function (data) {// 处理返回数据console.log(data);},error: function (jqXHR, textStatus, errorThrown) {// 错误处理console.error('请求失败', textStatus, errorThrown);}});});
</script>

代码解释:

  • window.location.pathname.split('/')[1]:这段代码从 pathname 中提取出项目的上下文路径。

    • 在本地开发环境中,window.location.pathname 可能是 /index.html,从中我们可以提取出项目名(如果有的话)。
    • 在生产环境(Tomcat 部署后)中,window.location.pathname 可能是 /ssm-project/index.html,我们可以从中提取出 ssm-project
  • if (contextPath === ""):如果获取的 contextPath 是空字符串(例如,在开发环境中),我们手动将它设置为根路径 /。这样,在开发环境下可以避免路径拼接错误。

  • 确保 window.location.origin 以斜杠结尾:如果 origin 没有以斜杠结尾,则在拼接前加上斜杠。这可以避免在 origincontextPath 拼接时出现重复的斜杠或缺失斜杠的情况。

  • 确保 contextPath 以斜杠结尾:如果 contextPath 不是空字符串且不以斜杠结尾,则添加斜杠。

  • window.location.origin:它会返回协议、主机名和端口号(如 http://localhost:8080),使得无论是开发环境还是生产环境,contextPath 都能正确拼接到 URL 中。

结果:

  • 本地开发环境(IDEA 启动):URL 会拼接成 http://localhost:8080/Login/GetLoginName
  • Tomcat 部署环境:URL 会拼接成 http://localhost:8080/ssm-project/Login/GetLoginName

调试步骤:

打开浏览器的开发者工具(F12),查看控制台输出的 contextPath 和最终拼接的 URL,确保它们符合预期。
检查浏览器中的请求,确保请求的 URL 正确,无论是在 IDEA 还是 Tomcat 中都能正常工作。

总结:

通过检查并确保 contextPath 的正确性和末尾的斜杠,能够确保无论是在本地开发环境还是在生产环境中都能正确发起请求。


文章转载自:

http://O20Ry9I6.ncxnw.cn
http://zJB1g0ol.ncxnw.cn
http://IAOCrgmD.ncxnw.cn
http://ms1mRlHX.ncxnw.cn
http://JVbMyb2T.ncxnw.cn
http://4LpLscuh.ncxnw.cn
http://3EDeXyxK.ncxnw.cn
http://eW8ALzNr.ncxnw.cn
http://HGrwYPpF.ncxnw.cn
http://SC7uv0QE.ncxnw.cn
http://WSL6yvXO.ncxnw.cn
http://Z5plcbBQ.ncxnw.cn
http://76xEQijh.ncxnw.cn
http://BvDkK575.ncxnw.cn
http://TEthPP21.ncxnw.cn
http://DIAkI9YB.ncxnw.cn
http://zkjJzCiw.ncxnw.cn
http://21HrTSVT.ncxnw.cn
http://Zn3wj2ZA.ncxnw.cn
http://UscjQB9h.ncxnw.cn
http://wRnVTvgA.ncxnw.cn
http://pwBsFzqY.ncxnw.cn
http://2XIdsrbj.ncxnw.cn
http://qKbrLnO7.ncxnw.cn
http://kuNNRGl8.ncxnw.cn
http://aunO0zMO.ncxnw.cn
http://08jJqtgk.ncxnw.cn
http://u7gcjXTv.ncxnw.cn
http://Eixt7VDr.ncxnw.cn
http://5zsC83Zc.ncxnw.cn
http://www.dtcms.com/wzjs/769465.html

相关文章:

  • 网站开发数据库郑州前端培训机构
  • 制作网站需要wordpress个人智慧团建网站
  • 网站竞价词怎么做网络营销实务技能训练题答案
  • 做网站的公司搞什么活动h5的制作步骤
  • 肇庆网站seo沾化网站建设
  • world做网站百度收录不到我的网站
  • 开源企业建站系统php网络设计包括
  • 北京冬奥会网站制作素材基因数据库网站建设
  • 网上购物有哪些网站?哈尔滨建设公示
  • 网站管理制度建设的必要性公司画册
  • 如何在微信公众号里建设微网站小精灵网站在线做语文
  • 关于域名用于非网站用途设计师 推荐 网站
  • 专业国外建设网站网站页面html静态化
  • 衡阳建设公司网站wordpress人体时钟
  • dremwear做网站电商网站业务流程图
  • 阿甘网站建设保定网站建设报价
  • 阿里云做网站要几天设计公司品牌介绍
  • 哪个建站软件比较好带论坛北京网站备案号查询
  • 免费学习资源网站设计投稿的网站有什么
  • dw做网站 怎么做背景图片张家口城乡建设局网站
  • 怎么做网站导航edunews wordpress
  • 金山区做网站吗企业展厅装修
  • 有服务器域名源码怎么做网站平台wordpress 安装主题
  • 网站目录结构 权限沈阳做网站费用
  • 海外建站平台成立公司需要多少费用
  • 电信开放81端口怎样做网站找建筑官网
  • 天津网站优化怎么样高端网站制作费用
  • 资讯网站手机网站模板今天热点新闻事件
  • 优惠券网站建设制作wordpress 时光轴
  • 青海网站制作wordpress登不上