gpt4 book ai didi

javascript - 使用 jQuery/Javascript 访问 GET 变量

转载 作者:行者123 更新时间:2023-11-30 05:59:00 25 4
gpt4 key购买 nike

我知道之前有人问过这个问题,但我对目前发布的所有解决方案都感到困惑。我有一个如下所示的网址:

http://localhost:3000/virgil/1/render_lesson?toggle=view

这是通过 AJAX 进行的 Rails 调用,但这无关紧要。每次我尝试一个应该获取“切换”变量的函数时,当我将它打印到控制台日志时,我得到的是“未定义”。这个功能我试过了

function getUrlVars()
{
var vars = [], hash;
var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
for(var i = 0; i < hashes.length; i++)
{
hash = hashes[i].split('=');
vars.push(hash[0]);
vars[hash[0]] = hash[1];
}
return vars;
}

当我调用 console.log(getUrlVars());我得到 ["http://localhost:3000/"]

但是当我调用 console.log(getUrlVars()["toggle"]);我只是得到 undefined

感谢您的帮助!

编辑:

添加我的代码的相关部分。这是一个 Rails 应用程序,使用 AJAX 进行调用。

<%= link_to 'View Lessons', render_lesson_virgil_path(course, :toggle => :view), :remote => true, :class => 'toggle_lesson', :id => "toggle_lesson#{course.id}" %>

然后在它调用的 javascript 文件中:

function $_GET( name ){
name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
var regexS = "[\\?&]"+name+"=([^&#]*)";
var regex = new RegExp( regexS );
var results = regex.exec( window.location.href );
if( results == null )
return "";
else
return results[1];
}

console.log($_GET('toggle')); //This is where it prints the incorrect value to the log, regardless of the function I use.

$("#Course<%= @course.id %>").append('<div id="Lesson<%= @course.id %>" class="render_lesson"></div>');
$("#Lesson<%= @course.id %>").html("<%= escape_javascript(render( :partial => "lesson" )).html_safe %>");

最佳答案

这是我用于查询字符串的 JS 函数 - 希望对您有所帮助。

function getParameterByName(name) {
var match = RegExp('[?&]' + name + '=([^&]*)').exec(window.location.search);
return match && decodeURIComponent(match[1].replace(/\+/g, ' '));
}

关于javascript - 使用 jQuery/Javascript 访问 GET 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10001726/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com