提问者:小点点

Javascript无法重定向到相对路径


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个答案

匿名用户

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

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

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