我的Javascript脚本中有一个意外的字符串错误

时间:2015-07-29 15:03:57

标签: javascript jquery prestashop

我的Prestashop中的脚本存在很大问题。

我有一个错误:"未捕获的SyntaxError:意外的字符串"。

这是剧本:

{if $ajaxsearch}
<script type="text/javascript">
// <![CDATA[
    $('document').ready( function() {
        $("#search_query_{$blocksearch_type}")
            .autocomplete(
                '{if $search_ssl == 1}{$link->getPageLink('search', true)}{else}{$link->getPageLink('search')}{/if}', {
                    minChars: 3,
                    max: 10,
                    width: 500,
                    selectFirst: false,
                    scroll: false,
                    dataType: "json",
                    formatItem: function(data, i, max, value, term) {
                        return value;
                    },
                    parse: function(data) {
                        var mytab = new Array();
                        for (var i = 0; i < data.length; i++){
                            mytab[mytab.length] = { data: data[i], value: data[i].cname + " > " + data[i].pname };
                        }
                        return mytab;
                    },
                    extraParams: {
                        ajaxSearch: 1,
                        id_lang: {$cookie->id_lang}
                    }
                }
            )
            .result(function(event, data, formatted) {
                $('#search_query_{$blocksearch_type}').val(data.pname);
                document.location.href = data.product_link;
            })
    });
// ]]>
</script>

{/如果}

代码位于prestashop模块的TPL视图中。

这是Google Chrome控制台中错误的屏幕截图:

Screenshot of the error

我需要你的帮助......

2 个答案:

答案 0 :(得分:1)

'{if $search_ssl == 1}{$link->getPageLink('search', t…是抱怨的语法错误。

在以'个字符分隔的字符串中,您不能使用未转义的'个字符。

看起来您正在尝试从PHP生成JavaScript,但忘记了<?php?>

答案 1 :(得分:0)

你不能在&#39;之间加上&#39; &#39;

使用&#34; \&#34;在它之前。

 '{if $search_ssl == 1}{$link->getPageLink(\'search\', true)}{else}{$link->getPageLink(\'search\')}{/if}', {