简体   繁体   English

在网址模板中的Javascript中分配动态变量

[英]Assigning a dynamic variable in Javascript in a template for URLs

I am working on trying to assign a dynamic variable in Javascript within my template for URLs. 我正在尝试在URL模板内的Javascript中分配动态变量。 This is to pass the data back to the page. 这是为了将数据传回页面。 At the moment this is hard coded. 目前,这是硬编码的。 I'm stuck trying to figure out best way to fix this. 我一直在努力找出解决此问题的最佳方法。 Here is my code: 这是我的代码:

JS JS

function MyModule.init() {
var myXHR = new XMLHttpRequest(),
    seconds = (new Date()).getTime();

// Load my data
myXHR.addEventListener('readystatechange', function () {
    var preXHR = new XMLHttpRequest(),
        data;

    if (myXHR.readyState === 4) {
        data = JSON.parse(myXHR.responseText);

        timestamp = data['timestamp'];
        myData = data['my'];

        // Load rep data
        preXHR.addEventListener('readystatechange', function () {
            if (preXHR.readyState === 4) {
                repData = JSON.parse(preXHR.responseText)['reps'];

                organizeData();
                showMYTable();
            }
        });

        // This hardcoded path is what I am trying to change, as it is bad
        preXHR.open('GET', '/catalog/1/my-reps?t=' + seconds); 

        preXHR.send();
    }
});

// This hardcoded path is what I am trying to change, as it is bad
myXHR.open('GET', '/catalog/1/my-data?t=' + seconds);

myXHR.send();

TEMPLATE 模板

<script>
    $(function(){
        MyModule.init('{% url catalog.data %}');
    });
</script>

URL 网址

url(r'^(?P<company>.+)/(?P<name>.+)', 'data', name='catalog.data')

You seem to be already passing the URL into the MyModule.init() function, but you're not doing anything with it there. 您似乎已经将URL传递到MyModule.init()函数中,但是您并未对该URL进行任何操作。 Just reference it as a variable: 只需将其引用为变量即可:

function MyModule.init(url) {
    ...

    myXHR.open('GET', url + '?t=' + seconds);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM