JavaScript в коде Perl - PullRequest
       4

JavaScript в коде Perl

0 голосов
/ 27 декабря 2010

я использую файл javascript (json2.js) в коде perl-cgi с apache.но когда я запускаю его в браузере, он не может найти источник и вернуть следующую ошибку;'Не удалось загрузить ресурс: сервер ответил с состоянием 404 (не найдено)'

мой путь к doumentroot: / srv / www / cgi-bin и scripts 'путь: / srv / www / cgi-bin / scripts

я делаю это;

 print "<script type='text/javascript' src='./scripts/json2.js'></script>"; # Line 1
    print "<script type='text/javascript' language='JavaScript'>
    function setDetails(o,json_arrRef,arrSize){
            alert('hello='+arrSize+' || ref='+json_arrRef); // till here it works fine
            var json_obj = JSON.parse(json_arrRef);     
    }
    </script>";

, если я редактирую строку 1 как

print "<script type='javascript' src='./scripts/json2.js'></script>";

, она находит источник, но выдает следующую ошибку, когда 'JSON.parse()' называется;'Uncaught SyntaxError: неожиданный токен ILLEGAL'

я что-то не так делаю?

Ответы [ 2 ]

2 голосов
/ 27 декабря 2010
  • Не помещайте статические файлы где-либо в пределах или ниже / cgi-bin / , поскольку серверы часто настраиваются для обработки этого пути особым образом
  • Do получите правильные атрибуты вашего типа, тип контента для JavaScript - text / javascript , а не просто javascript (технически это должно быть application / javascript , но представьте, что это text / javascript ради браузеров)
  • Не сравнивайте ошибки JavaScript в браузере с кодом Perl, а do проверяют, что выводит веб-сервер (т. Е. Исходный код HTML и JavaScript и / или какие запросы выдают 404 или другие коды ошибок HTTP)
0 голосов
/ 27 декабря 2010

Заменить "./scripts/json2.js" на "/scripts/json2.js".

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