javascript - 将表单操作作为整个 url 发送而不破坏

标签 javascript jquery ajax forms url

我想要整个字符串 http://mywebsite.com?u=http://othersite.com?thisis立刻发送。如果我把它放在像 bit.ly 这样的 URL 缩短器中,它就可以工作,但如果我保持原样,它就不行了。

<script>
  function go(){
    window.frames[0].document.body.innerHTML='<form target="_parent" action="http://mywebsite.com?u=http://othersite.com?thisis"></form>';
    window.frames[0].document.forms[0].submit()
  }    
</script>

最佳答案

您必须使用 encodeURIComponent() 转义嵌套 URL以使 URL 有效。

这意味着做这样的事情。

function go(){
    var uri = 'http://mywebsite.com?u=' 
        + encodeURIComponent('http://othersite.com?thisis');

    window.frames[0].document.body.innerHTML = 
        '<form target="_parent" action="' 
        + uri 
        + '"></form>';
    window.frames[0].document.forms[0].submit();
}    

关于javascript - 将表单操作作为整个 url 发送而不破坏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12518380/

相关文章:

javascript - 从 div 中的 json 文件写入解析后的响应

javascript - Ajax 代码在第一次计算后停止

javascript - 在滚动上交换我的 Logo 图像(修改现有脚本)

javascript - 禁止在 javascript 中打开窗口

c# - 单击时如何将文本从 <li> 传递到文本框?

javascript - 了解缓存?

javascript - 使用 jquery 通过按钮控制选取框行为

javascript - 使用 Hooks 编辑 React 状态

javascript - `getter` 和 `setter` 在 JavaScript 中是必需的吗?

jquery - 在ajax中显示值