0

嗨,伙计们在脚本方面遇到了一些问题

我有一些加载 html url 的选项卡字段

我需要在我加载的 html 中获取该 url 的参数

<div id="tabs">
<ul>
    <li><a href="hosts/timeline.html?ip=${ipValue}">Timeline</a></li>
</ul>

这是我的timeline.html 文件内容

<script id="timelineTmpl" type="text/x-jquery-tmpl"> 

{{each response}}
    <li><b>${time}</b><br />
    {{each items}}
            ${icon}: <em>${text}. </em> <br />
    {{/each}}   
{{/each}}

</li>
</script>

<ul id="timeline"></ul>


<script type="text/javascript" charset="utf-8">

    function getURLParam(urlSearch, param) {
        p = urlSearch.split(/[&?]/);
        p = _.reject(p, function(e) { return e == "" });
        p = _.map(p, function(e) { return e.split("=")});   
        p = _.reduce(p, function(memo, a) {memo[a[0]] = a[1]; return memo; }, {});
        return p[param]
    }

    var request = $.ajax({
        type: 'GET',
        url: 'ajax/hosts/timeline.xsp?ip='+getURLParam(location.search, "ip"),
        dataType: 'json'
    });

    request.done(function(data){
        $("#timelineTmpl").tmpl(data).appendTo("#timeline");
    });

    request.fail(function(jqXHR, textStatus, errorThrown) {
        console.log(errorThrown);
        console.log(textStatus)
    });

现在该函数 getURLParam 返回 undefined

我怎样才能让它检索我通过的那个 ip vale

好的,这可能是我请求timeline.html 的方式吗?

4

2 回答 2

2

我有同样的问题。提供的链接也没有回答您的问题。我无法解决它,所以我使用了可能对您有所帮助的解决方法。只需将数据附加到任何 DOM 元素。

例如,在您的模板文档中:

$(document).ready(function() {
    $('#tabs').data('ip', '${ipValue}');
});

然后,在您的 timeline.html 中,您可以执行以下操作:

 url: 'ajax/hosts/timeline.xsp?ip=' + $('#tabs').data('ip')

希望能帮助到你,

于 2012-06-25T16:45:31.890 回答
0

First of all, I would change this hosts/timeline.html into hosts/timeline.php; I dont think that HTML knows how to work with parameters passed that way; and then retry; and be carefull where you use the RegEx, you should use split(/[&?]+/) because you could have multiple params and values

于 2012-06-14T08:53:44.860 回答