检索通过jquery load

时间:2017-04-21 17:29:20

标签: javascript jquery ajax

在我的主游戏页面上,我有这个jquery / javascript将一个角色加载到一个特定的div中:

    $(document).ready(function () {
        var charID = 123456;
        $("#characterEditor").load('/character/Viewer.htm', 'test = ' + charID);
    });

在“viewer.htm”中,我试图获得'test'的价值。但是,“测试”在浏览器控制台中始终是“未定义的”。

    $(document).ready(function () {
        console.log('charID from game: ', test);
    });

在浏览器中,我看到它正确加载:

  

Viewer.htm?测试= 123456

当我尝试使用类似的东西访问查询字符串时:

function getParameterByName(name, url) {
    if (!url) url = window.location.href;
    name = name.replace(/[\[\]]/g, "\\$&");
    var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"),
        results = regex.exec(url);
    if (!results) return null;
    if (!results[2]) return '';
    return decodeURIComponent(results[2].replace(/\+/g, " "));
}

var testCharID = getParameterByName("test");
console.log('charID from game: ', testCharID);

它尝试从主游戏页面而不是加载的页面(Viewer.htm)获取查询字符串

有没有这样做?

谢谢!

1 个答案:

答案 0 :(得分:0)

使用 localStorage

在主游戏页面中保存角色ID

$(document).ready(function () {
    var charID = 123456;
    $("#characterEditor").load('/character/Viewer.htm', 'test = ' + charID);
    localStorage.setItem('charID', charID);
});

您可以在viewer.htm

中访问字符ID
$(document).ready(function () {
    var test = localStorage.getItem('charId');
    console.log('charID from game: ', test);
});