Javascript 输入URL的进程部分

Javascript 输入URL的进程部分,javascript,php,html,twitter-bootstrap,Javascript,Php,Html,Twitter Bootstrap,这个问题很简单,但我可能遗漏了一个很简单的问题 我有一个输入表单,用户将粘贴一个URL以导航到下一个部分 假设用户输入:https://www.facebook.com/connect/login_success.htmlaccess_token=XXXXXXXXXYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZAAAAAAAAAAAAAAAAAABBBBBBBBBBBB&expires_in=0 我希望表单只处理以下内容:XXXXXXXX YYYYYYYYYYYYY

这个问题很简单,但我可能遗漏了一个很简单的问题

我有一个输入表单,用户将粘贴一个URL以导航到下一个部分

假设用户输入:https://www.facebook.com/connect/login_success.htmlaccess_token=XXXXXXXXXYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZAAAAAAAAAAAAAAAAAABBBBBBBBBBBB&expires_in=0

我希望表单只处理以下内容:XXXXXXXX YYYYYYYYYYYYYYYYYYYYYYYYYYYY ZZZZZZZZZZZZZZZZ AAAAAAAAAAAAABBBBBBBBBB

因此,它将完全忽略:

https://www.facebook.com/connect/login_success.html#access_token=

这可能吗

我的表格非常简单:

<form action="home.php" method="GET">
                    <div class="form-group">
                         <label for="exampleInputEmail1">Access Token.</label>
                         <input type="text" class="form-control" id="exampleInputEmail1" name="accesstoken"/>
                    </div>
                    <button type="submit" class="btn btn-default btn-block">Confirm</button>
                </form>
引导


谢谢

您可以对符号“&”进行分解,并将其粘贴到字符串或变量中

将表单更改为使用POST,如下所示:

<form action="home.php" method="POST">
    <div class="form-group">
        <label for="exampleInputEmail1">Access Token.</label>
        <input type="text" class="form-control" id="exampleInputEmail1" name="accesstoken"/>
    </div>
    <button type="submit" class="btn btn-default btn-block">Confirm</button>
</form>
<?php $accesstoken = $_GET['accesstoken']; ?>
然后,您可以在PHP中检索变量,如下所示:

<form action="home.php" method="POST">
    <div class="form-group">
        <label for="exampleInputEmail1">Access Token.</label>
        <input type="text" class="form-control" id="exampleInputEmail1" name="accesstoken"/>
    </div>
    <button type="submit" class="btn btn-default btn-block">Confirm</button>
</form>
<?php $accesstoken = $_GET['accesstoken']; ?>

它可以很容易地回送到JavaScript变量中供您使用。

首先,我建议您在服务器端解析它,而不是关闭客户端JavaScript等。。若您需要在home.php上使用accesstoken作为GET参数,则可以在提交后将用户重定向到此处。无论如何,在服务器端,请尝试以下方法:

注1:我假设您在第一篇文章中的URL的类型不是?。如果没有,只需使用与我发布的脚本相同的脚本,但将$urlParts['query']更改为$urlParts['fragment']

注2:如果您真的想/需要使用JavaScript,请查看


注3:处理URL操作的另一个很好的JS库似乎是。

我找到了一个更简单的解决方案:

<script>
$(document).ready(function() {
    $('#btnSubmit').click(function(e) {
        var val = document.getElementById('exampleInputEmail1').value;
        $('#exampleInputEmail1').val(val.substring(val.indexOf("=") + 1, val.indexOf('&')));
    });
});
</script>

在服务器上处理URL。另外,不要使用GET和use提交表单POST@JoshuaBrodie什么意思?我以后会用的,谢谢!URL应该类似于login\u success.html?access\u token=XYZAB&expires\u in=0,以便通过GET识别。注意,哈希符号已替换为问号。如果您无法这样做,则可以将URL保存到变量中,并使用字符串函数替换为?谢谢,表单已更新,我将如何实现您提到的PHP部分,然后只处理访问令牌?@Billy:login\u success.htmlaccess\u token=。它不是.html?访问令牌!它的登录成功。htmlaccess\u token=Not?access\u token我现在尝试使用它,但仍然不走运,我是否遗漏了一些非常明显的东西?哦,对不起,我的脚本中有错别字,第9行是accesstoken而不是access\u token。我只是测试了一下,它适用于和?同样,请按照我的说明1。@Pavelětěrba您有其他方式可以联系您吗?我真的很想解决这个问题,非常感谢