Ошибка синтаксиса JavaScript - PullRequest
1 голос
/ 02 июня 2010

Обновление: я пробовал версию скрипта без части "beforeContentUpdate", и этот скрипт возвращает следующий JSON

{"COLUMNS":["TNAME","TBRIEF","GAMEID","TITLEID","RDATE","GNAME","PABBR","PNAME","RSCORE","RNAME"],
"DATA":[["Dark Void","Ancient gods known as 'The Watchers,' once banished from our world by superhuman Adepts, have returned with a vengeance.",254,54,"January, 19 2010 00:00:00","Action & Adventure","X360","Xbox 360",3.3,"14 Anos"]]}

Использование сценария, который включает в себя "beforeContentUpdate", однако ничего не возвращает. Я использовал Firebug, чтобы увидеть содержимое div, сгенерированного подсказкой, и оно пустое!

Здравствуйте, мне интересно, может ли кто-нибудь помочь мне с синтаксической ошибкой в ​​строке 14 этого кода: Отладчик говорит missing ) in parenthetical о var json = eval('(' + content + ')');

// Tooltips for index.cfm 
$(document).ready(function() 
{
    $('#catalog a[href]').each(function()
    {
        $(this).qtip( {
            content: {
            url: 'components/viewgames.cfc?method=fGameDetails',
            data: { gameID: $(this).attr('href').match(/gameID=([0-9]+)$/)[1] },
            method: 'get'
        },
        api: {
            beforeContentUpdate: function(content) {
            var json = eval('(' + content + ')');
            content = $('<div />').append(
            $('<h1 />', {
                html: json.TNAME
                }));
                return content;
            }
        },
        });
    });
});

Ответы [ 4 ]

2 голосов
/ 02 июня 2010

Вы забываете

+

Должно быть:

var json = eval('(' + content + ')');
1 голос
/ 15 октября 2010

Убедитесь, что у JSON нет лишних символов, JSON должен быть действительным. Проверьте, как content возвращается с простым предупреждением, чтобы ничего не изменило строку.

Также рассмотрите возможность использования parseJSON из jQuery вместо eval. Цитата:

var obj = jQuery.parseJSON('{"name":"John"}');
alert( obj.name === "John" );
1 голос
/ 02 июня 2010

лучшее для этого - www.jslint.com

Я скопировал и вставил твой код и показал мне это:

Проблема в строке 21, символ 10: дополнительная запятая.

* *} 1010

0 голосов
/ 06 февраля 2011

Это оказался еще один случай, когда отладчик ColdFusion, когда включен вывод отладочной информации запроса, вызывает ошибку ajax. Это одна большая проблема, которую мы должны помнить при работе с ColdFusion с включенной отладкой. Аякс ломается.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...