当前位置: 首页 > 知识库问答 >
问题:

Javascript无法重定向到相对路径

羊舌涵涤
2023-03-14
function changeOtherEmail(){
  var newEmail = document.getElementById("inputOtherEmail").value;
  var data = {
    newEmail : newEmail
  }
  post_to_url("../changeOtherEmail", JSON.stringify(data));
}
function post_to_url(path,param,method){
  method = method||"post";
  var form = document.createElement("form");
  var hiddenField = document.createElement('input');
  hiddenField.setAttribute('type', 'hidden');
  hiddenField.setAttribute('name', 'body');
  hiddenField.setAttribute('value', param);
  form.appendChild(hiddenField);

  form.setAttribute("method", method);
  form.setAttribute("action", path);
  document.body.appendChild(form);
  form.submit();
}

我用上面的javascript编写了一个源代码。但它不了解相对路径。

我想如果提交表单在https://example.com/settings页面,页面重定向到https://example.com/settings/changeOtherEmail

如果提交表格,请在https://example.com/settings页面,页面重定向到https://example.com/changeOtherEmail

我试着使用下面的HTML标签,效果很好。

<a href="../changeOtherEmail">Submit</a>

为什么只有javascript不能很好地读取相对路径?

我使用node.js快递模块路由。这是一个原因吗?

共有1个答案

姜献
2023-03-14

我解决了。问题在于路径。

我使用该脚本的网址是example.com/setting.它工作得很好,如果我输入的网址example.com/setting/

如果URL是示例。com/设置,浏览器似乎认为设置是文件名,而不是文件夹或路径。

 类似资料:
  • 问题内容: 我有一些路线的角度应用程序,例如: 使用angular的html5路由模式,当您从应用程序内单击指向链接的链接时,这些链接可以正确解决,但是当您进行硬刷新时,这些链接当然会出现404错误。为了解决这个问题,我尝试实现基本的htaccess重写。 这适用于角度请求,但是当我尝试在我的域内加载脚本或进行ajax调用时,例如: 该脚本不会加载-它的请求被重定向,并且它尝试加载index.ht

  • 我有一个云负载平衡器/虚拟服务器/防火墙,它位于一组Quarkus pod前面,几乎就像一个反向代理。流量通过该公共入口进入,并被重新路由到内部网络。 我们使用Azure B2C登录应用程序,当您直接访问pod或内部负载平衡器时,这一功能非常好。 问题是,当使用外部负载平衡器时,重定向uri位于内部网络的上下文中,无法从公共端访问。 有没有办法将指向外部服务器的重定向uri设置为绝对uri而不是相

  • 我重定向到一个页面后,得到了一个完整的响应,url正在改变,同时对控制器的调用也在执行,它返回数据,但当它在页面上呈现时,它显示:

  • 英文原文:http://emberjs.com/guides/routing/redirection/ 过渡与重定向 在路由中调用transitionTo或者在控制器中调用transitionToRoute,将停止当前正在进行的过渡,并开启一个新的,这也用作重定向。transitionTo具有参数,其行为与link-to助手相同。 如果过渡到一个没有动态段的路由,路由的model钩子始终都会运行。

  • 问题内容: 我有一个庞大的Django网络应用程序,其中的一个模块(“仪表板”)用node和react编写。用户登录由Django模块处理。 用户应该登录到主应用程序才能访问react仪表板,这部分起作用-代码从浏览器获取用户会话,并且仅在有内容的情况下呈现内容。 我现在想在没有会话的情况下将用户重定向到应用主登录页面,但是我不知道如何使用当前结构(和该血腥的v4路由器)进行操作。 我在Brows

  • 问题内容: 我正在尝试执行以下操作: 来自客户 在明确的根源 结果传回 似乎如果我确实从jquery发布,重定向将不起作用。有人知道强制其重定向的方法吗? 问题答案: 浏览器不会在ajax响应上重定向时重定向窗口。使用javascript重定向浏览器。 例如,在服务器中将新站点作为内容发送。 在客户中

  • 在我的烧瓶应用程序中。如果页面的路径为。我无法将js文件导入此页面的html文件,如下所示:

  • 我在这个def create中调用redirect_to: 我检查路线= 在我的日志中: 我正在使用Rails 3.2.13 更新 尝试 得到同样的行为。 另外,我尝试通过添加rel=“external”来禁用Ajax,没有任何变化 更新2 new.html.erb 和javascript