我有一个jQuery函数,该函数在从JSON数据表调用的页面上显示价格。 我在Volusion网站上工作,其框架在ASP中。 对于网站上更干净的URL,您可以设置“ SEO” URL,将页面显示为.htm URL,而不是.asp URL。 这段代码在ASP页面上很好用,但是由于某些原因在.htm页面上不起作用。 我检查了页面并检查了控制台,但未发现与此功能有关的任何加载错误。 我想知道为什么它可以在ASP页而不在HTM页上工作。 从字面上看,当您执行SEO URL时唯一改变的是URL本身。

这是函数(请注意,JSON工作表具有两个键:项目和价格)。 它的作用是从JSON工作表中查找带有“ item”键值的跨度(或div),并使用jQuery html()函数写出“ price”键的值:

$(document).ready(function () {
    function ShowPrices() {
            $.getJSON("json_data.js", function (data) {
                $.each(data, function () {
                        $('[id*="' + this['item'] + '"]').html(' ' + this['price']);
                        $('[id*="' + this['item'] + '"]').val(this['price']);       
                });
            });  
    }
ShowPrices();
});

谢谢你的帮助!

===============>>#1 票数:1 已采纳

我看到您的getJSON网址是相对于当前文档的,而不是网站根目录。

我的猜测是SEO网址具有不同的文件夹结构,例如

ASP版本http://sitedomain.com/aspfolderpath/page.aspx

SEO版本http://sitedomain.com/some/other/path/page.htm

在这种情况下,您的职能将需要是:

$(document).ready(function () {
    function ShowPrices() {
            $.getJSON("/aspfolderpath/json_data.js", function (data) {
                $.each(data, function () {
                        $('[id*="' + this['item'] + '"]').html(' ' + this['price']);
                        $('[id*="' + this['item'] + '"]').val(this['price']);       
                });
            });  
    }
ShowPrices();
});

  ask by MillerMedia translate from so

未解决问题?本站智能推荐:

关注微信公众号