Javascript无法重定向到相对路径

Javascript无法重定向到相对路径,javascript,html,node.js,Javascript,Html,Node.js,我用上面的javascript编写了一个源代码。但它不了解相对路径 我想要什么 如果在第页提交表单,页面将重定向到 真实的 如果在第页提交表单,页面将重定向到 我试着使用下面的HTML标签,效果很好 function changeOtherEmail(){ var newEmail = document.getElementById("inputOtherEmail").value; var data = { newEmail : newEmail }

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

我想要什么 如果在第页提交表单,页面将重定向到

真实的 如果在第页提交表单,页面将重定向到

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

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不能很好地读取相对路径


我正在使用node.js express模块进行路由。这是原因吗?

我解决了。问题在于路径

我在脚本中使用的url是example.com/setting。如果我使用url example.com/setting输入,效果会很好/


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

尝试使用不带前导的根相对路径。如
post\u-to\u-URL(“/changeOtherEmail”)。
change----post\u-to\u-URL(../changeOtherEmail),JSON.stringify(data))----发布到\u-URL(“changeOtherEmail”,JSON.stringify(数据));
的意思是“向后移动”,所以如果你不想向后移动,就不要使用它。改用
,它的意思是“这个目录”。谢谢你回复@charlietfl,Prime,Laif。但所有这些都不适合我。这不是浏览器的问题,对于你的浏览器来说,两者都只是一个URI,没有“目录”的概念在URI中。这是Web服务器的一个问题,它将
/setting/
/setting
区别对待。此外,当它保持在
。/changeOtherEmail
上,而不是像你问题的评论中所建议的那样将其更改为
/changeOtherEmail
时,我怀疑/会有任何区别。这毫无意义。
<a href="../changeOtherEmail">Submit</a>