【问题标题】:How to get value from subdomain input value?如何从子域输入值中获取值?
【发布时间】:2015-05-01 20:41:15
【问题描述】:

我有一个需要提交到子域的注册表单,子域注册表单使用安全令牌密钥。我需要的是从子域中获取安全令牌并使用 javascript 在主域上使用它。

子域令牌密钥示例:

<input name="security_token" value="7ba88acf1fade1e1c26d7f7a885564f2" type="hidden">

我需要获取上述密钥并在主域名注册表中使用它:

 <input type="hidden" name="security_token" value="security key" />

我在主域上尝试过,但失败了:

<input name="security_token" value="searchTxt" type="text" id="searchTxt">
<script>
  var input = document.getElementsByName("security_token")[0].value;

  function searchURL() {
      window.location = "http://www.subodmain.myurl.com/register" +    input.value;
  }
</script>

任何人都可以编辑我的脚本并使其工作吗?谢谢。

【问题讨论】:

  • 该子域是否加载到 iframe 或其他内容中?
  • 没有。但是如果必须实现我需要的东西,我可以在隐藏的 iframe 中加载..
  • 你有两次.value。在document.getElementsByName 位之后删除.value,或将变量名称更改为value 并删除第二个值。
  • 我照你说的做了,但还是不行。
  • @Blazer 然后你需要以某种方式加载它。也许使用 iframe,或者使用 XMLHttpRequest。请注意same-origin policy。见AJAX, Subdomains, and SSL

标签: javascript forms


【解决方案1】:
<input name="security_token" value="searchTxt" type="text" id="searchTxt">

<script>
  function searchURL(el) {
    var input = document.getElementById(el);
      window.location.href = "http://www.subodmain.myurl.com/register" + input.value;
  }
  //use
  //searchURL("searchTxt");
</script>

【讨论】:

    【解决方案2】:

    也许我误解了这个问题,但我认为这是不可能的。安全令牌明确包含在您的表单中,以便服务器可以确保该表单实际上是由同一台服务器生成的,而不是由第三方生成的(这是一种安全预防措施)。

    因此,主域可能会拒绝并非由主域生成的任何安全令牌。理论上,即使您以某种方式将表单提交到主域,主域也会拒绝您的表单提交。

    【讨论】:

      【解决方案3】:

      如果你可以使用 Jquery,你可以这样做:

          var input;
      
          $.get("http://your_subdomain.com", function(response) {
              var elements;
              elements = $.parseHTML(response);
              input = $(elements).find('#searchTxt');
          });
      
      
      
          function searchURL() {
            window.location = "http://www.subodmain.myurl.com/register" +    input.val();
          }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2020-11-14
        • 2021-02-01
        • 1970-01-01
        • 2018-09-17
        • 2018-05-26
        • 2018-03-01
        • 2019-12-30
        相关资源
        最近更新 更多