Вы не зашли.
Страницы 1
При добавлении коментария появляется сообщение об ошибке. При этом комментарий добавляется. Но нет AJAX
Error parsing JSON output. Result: {"status":1,"data":"\r\n\t\r\n\t\r\n<div class=\"post\">\r\n<div style=\"height: 2px; font-size: 1px;margin: 8px\t0px 5px 0px; border-bottom: 1px dashed #777\"><\/div>\r\n\t\t\t\t<div style=\"font-size: 14px;\"><b>#2. <a href=\"\/users\/auditor.html\" target=\"_blank\" title=\"\u043f\u0440\u043e\u0444\u0438\u043b\u044c\"> auditor <\/b><\/a> - 25.02.2011 - 21:33 <\/div>\r\n\t\t\t\t<div class=\"entry\">\r\n<table border=\"0\" width=\"100%\" cellspacing=\"0\" cellpadding=\"0\">\r\n\r\n\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t<td>\r\n\t\t\t\t\t\t<table border=\"0\" width=\"100%\" cellspacing=\"0\" cellpadding=\"0\">\r\n\t\t\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t\t\t<td width=\"25\" align=\"center\" valign=\"top\"> <\/td>\r\n\t\t\t\t\t\t\t\t<td valign=\"top\">\u043c\u043c\u043c\u043c \u0441\u0441\u0441\u0441\u0441\u0441 \u0432\u0432\u0432\u0432\u0432\r\n\t\t\t\t\t\t\t\t\t<\/td>\r\n\t\t\t\t\t\t\t<\/tr>\r\n\t\t\t\t\t\t<\/table>\r\n\t\t\t\t\t\t<\/td>\r\n\t\t\t\t\t<\/tr>\r\n\r\n\t\t\t\t<\/table>\r\n<p><\/p>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"postmetadata\">\r\n\t\t\t\t\t<a href=\"http:\/\/www.nic.ru\/whois\/?ip=195.114.158.18\" title=\"\u043a\u0442\u043e \u044d\u0442\u043e?\">\u043a\u0442\u043e \u044d\u0442\u043e?<\/a> <a href=\"http:\/\/a2vin.com\/engine\/admin.php?mod=editcomments&newsid=555&comid=180\" target=\"_blank\" title=\"\u043e\u0442\u0432\u0435\u0442\u0438\u0442\u044c\">\u043e\u0442\u0432\u0435\u0442\u0438\u0442\u044c<\/a> <a href=\"\/plugin\/comments\/delete\/?id=180\" title=\"\u0443\u0434\u0430\u043b\u0438\u0442\u044c\">\u0443\u0434\u0430\u043b\u0438\u0442\u044c<\/a><\/div>\r\n\r\n\r\n\t\t\t<\/div>\r\n\r\n\t\r\n"}
Изменено vl (2011-02-25 23:46:37)
Не в сети
Версия 0.9.2 RC0 [SVN547]
Плагин comments 0.03
Шаблон полной новости из ncustom
<div class="article" id="ful">
<div class="nevs" id="fulgall" >
<h4><b>{category}</b></h4>
<table class="chamada ">
<tr>
<td valign="top">
<h2><b>{title}</b></h2>
<div id="gallery">{full-story}</div>
</td>
</tr>
</table> <br>
</div>
<div class="editt2" id="ful">
<br><br>{plugin_rating}
<!--Просмотров: {views} | Коментариев:{comments-num} | Опубликовано: {date}|-->
[edit-news]Просмотров: {views} |Редактировать[/edit-news]</div>
{plugin_comments}
</div>
</div>
</div>
<div id="lateral">
<!-- inicio COLUNISTAS -->
<div class="colunistas modulo">
<div class="colunistasAbas">
<div class="abaColunistas" ><h4>{category}</h4></div>
</div>
<div class="colunistasChamadas">
<br>
<div>
{same_category_news_5}
</div>
<br />
</div>
<!--/div-->
<!-- fim COLUNISTAS --> </div>
Не в сети
vl, внимательней работаем с шаблонами.
Ошибка возникает вот на этом JS коде:
var nc = document.getElementById('new_comments');
Тебе необходимо создать элемент с ID = new_comments в который и будут добавляться новые комментарии.
Не в сети
<div id="new_comments" ></div> нужно поставить внужное место в шаблоне plugins/comments/comments.form.tpl
Не в сети
<div id="new_comments" ></div> нужно поставить внужное место в шаблоне plugins/comments/comments.form.tpl
Я его оттуда и не удалял. Попробывал сейчас добавить в несколько разных мест в comments.form.tpl - не помогает
Не в сети
vl, значит javascript удалил-правил в comments.form.tpl. Смотри внимательнее.
Вот основные элементы comments.form.tpl, сверяйся:
<script type="text/javascript">
var cajax = new sack();
function reload_captcha() {
var captc = document.getElementById('img_captcha');
if (captc != null) {
captc.src = "{captcha_url}?rand="+Math.random();
}
}
function add_comment(){
// First - delete previous error message
var perr;
if (perr=document.getElementById('error_message')) {
perr.parentNode.removeChild(perr);
}
// Now let's call AJAX comments add
var form = document.getElementById('comment');
//cajax.whattodo = 'append';
cajax.onShow("");[not-logged]
cajax.setVar("name", form.name.value);
cajax.setVar("password", form.password.value);
cajax.setVar("mail", form.mail.value);[captcha]
cajax.setVar("vcode", form.vcode.value); [/captcha][/not-logged]
cajax.setVar("content", form.content.value);
cajax.setVar("newsid", form.newsid.value);
cajax.setVar("ajax", "1");
cajax.setVar("json", "1");
cajax.requestFile = "{post_url}"; //+Math.random();
cajax.method = 'POST';
//cajax.element = 'new_comments';
cajax.onComplete = function() {
if (cajax.responseStatus[0] == 200) {
try {
var resRX = eval('('+cajax.response+')');
var nc;
if (resRX['rev'] && document.getElementById('new_comments_rev')) {
nc = document.getElementById('new_comments_rev');
} else {
nc = document.getElementById('new_comments');
}
nc.innerHTML += resRX['data'];
if (resRX['status']) {
// Added successfully!
form.content.value = '';
}
} catch (err) {
alert('Error parsing JSON output. Result: '+cajax.response);
}
} else {
alert('TX.fail: HTTP code '+cajax.responseStatus[0]);
}
[captcha]
reload_captcha();[/captcha]
}
cajax.runAJAX();
}
</script>
<div id="new_comments"></div>
<form id="comment" method="post" action="{post_url}" name="form" [ajax]onsubmit="add_comment(); return false;"[/ajax]>
<input type="hidden" name="newsid" value="{newsid}" />
<input type="hidden" name="referer" value="{request_uri}" />
{l_addcomment}
[not-logged]
{l_name}
<input type="text" size="30" name="name" value="{savedname}" />
{l_password} <small>{l_ifreg}</small>
<input class="password" type="password" maxlength="16" size="30" name="password" value="" />
{l_email} <small>{l_necessary}</small>
<input class="email" type="text" size="30" maxlength="70" name="mail" value="{savedmail}" />
[captcha]
<img id="img_captcha" onclick="reload_captcha();" src="{captcha_url}?rand={rand}" alt="captcha" /><input class="important" type="text" name="vcode" maxlength="5" size="30" />
[/captcha]
[/not-logged]
<a href="javascript:ShowOrHide('bbcodes');">{l_bbcodes}</a><br />
<div id="bbcodes" style="display : none;"><br />{bbcodes}</div>
<a href="javascript:ShowOrHide('smilies');">{l_smilies}</a><br />
<div id="smilies" style="display : none;"><br />{smilies}</div></td>
<textarea name="content" id="content" style="width: 95%;" rows="8"></textarea>
<input type="submit" class="button" value="{l_add}"/> <input type="reset" class="button" value="{l_clear}" />
</form>
I ♥ NGeneration CMS
Не в сети
Евгений, скопировал с твоего поста содержание файла. При добавлении комментария вот такое сообщение выплывает
Error parsing JSON output. Result: {"status":0,"data":"<div id='error_message' class='error_msg'>\r\n<span style=\"float:right;\" onclick=\"var x=this.parentNode; x.parentNode.removeChild(x); return false;\"><a href=\"\" onclick=\"return false;\"><u>\u0417\u0430\u043a\u0440\u044b\u0442\u044c<\/u><\/a><\/span>\r\n<br \/><div class='msge'><img src='http:\/\/a2vin.com\/engine\/skins\/default\/images\/error.gif' hspace='10' \/>\u041e\u0448\u0438\u0431\u043a\u0430: \u0412\u044b \u0434\u043e\u043b\u0436\u043d\u044b \u043f\u043e\u0434\u043e\u0436\u0434\u0430\u0442\u044c 20 \u0441\u0435\u043a\u0443\u043d\u0434 \u043f\u0440\u0435\u0436\u0434\u0435 \u0447\u0435\u043c \u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u043d\u043e\u0432\u044b\u0439 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0439!<\/div>\r\n<\/div>\r\n\r\n"}
Не в сети
vl, есть подозрение что код добавления комментария не соответствует установленной версии плагина комментариев...но это только мое субъективное мнение, попробуй проверить этот момент. Посмотри в свн. Так же проверь шаблон: comments.error.tpl
<div id='error_message' class='error_msg'>
<span style="float:right;" onclick="var x=this.parentNode; x.parentNode.removeChild(x); return false;"><a href="" onclick="return false;"><u>Закрыть</u></a></span>
<br />{content}
</div>
I ♥ NGeneration CMS
Не в сети
Knopik пишет:<div id="new_comments" ></div> нужно поставить внужное место в шаблоне plugins/comments/comments.form.tpl
Я его оттуда и не удалял. Попробывал сейчас добавить в несколько разных мест в comments.form.tpl - не помогает
И всё-таки ты его удалил
Открываем страницу с комментариями, делаем "view as HTML..." и пытаемся найти текст "new_comments".
Что мы видим?
Правильно - находим только обращение к new_comments в JavaScript'е, но HTML блока с таким ID нигде нет.
Не в сети
vitaly, я подставлял код из сообщения Евгения с div id="new_comments", позитивных свигов небыло. Посколько одномоментно исправить ошибку не удалось, я вижу путь решения проблемы в поэтапном переходе от сборки релиза до моего варианта сайта. В какой-то момент глюк себя проявит.
Спасибо всем откликнувшимся на мою проблему.
Не в сети
vitaly, я подставлял код из сообщения Евгения с div id="new_comments", позитивных свигов небыло. Посколько одномоментно исправить ошибку не удалось, я вижу путь решения проблемы в поэтапном переходе от сборки релиза до моего варианта сайта. В какой-то момент глюк себя проявит.
Спасибо всем откликнувшимся на мою проблему.
Была такая проблема, верстал шаблон, коменты добавлялись нормально, но в один прекрасный момент понял что ajax не работает: рейтинг не функционирует, всплывающие окно об ошибке comments.error.tpl тоже.
Во общем начал шарится по своим файлам шабона искать ошибку, заменял файлы с default шаблона, дошел до того что ошибка в main.tpl, начал читать и сравнивать с default шаблоном весь код, и замелич что в начале кода поле body есть строчка которой нет в моем шаблоне:
<div id="loading-layer"><img src="{tpl_url}/images/loading.gif" alt="" /></div>
Из за отсутствия строчки полосы загрузки неработал ajax.
Не в сети
vl, значит javascript удалил-правил в comments.form.tpl. Смотри внимательнее.
Вот основные элементы comments.form.tpl, сверяйся:
<script type="text/javascript"> var cajax = new sack(); function reload_captcha() { var captc = document.getElementById('img_captcha'); if (captc != null) { captc.src = "{captcha_url}?rand="+Math.random(); } } function add_comment(){ // First - delete previous error message var perr; if (perr=document.getElementById('error_message')) { perr.parentNode.removeChild(perr); } // Now let's call AJAX comments add var form = document.getElementById('comment'); //cajax.whattodo = 'append'; cajax.onShow("");[not-logged] cajax.setVar("name", form.name.value); cajax.setVar("password", form.password.value); cajax.setVar("mail", form.mail.value);[captcha] cajax.setVar("vcode", form.vcode.value); [/captcha][/not-logged] cajax.setVar("content", form.content.value); cajax.setVar("newsid", form.newsid.value); cajax.setVar("ajax", "1"); cajax.setVar("json", "1"); cajax.requestFile = "{post_url}"; //+Math.random(); cajax.method = 'POST'; //cajax.element = 'new_comments'; cajax.onComplete = function() { if (cajax.responseStatus[0] == 200) { try { var resRX = eval('('+cajax.response+')'); var nc; if (resRX['rev'] && document.getElementById('new_comments_rev')) { nc = document.getElementById('new_comments_rev'); } else { nc = document.getElementById('new_comments'); } nc.innerHTML += resRX['data']; if (resRX['status']) { // Added successfully! form.content.value = ''; } } catch (err) { alert('Error parsing JSON output. Result: '+cajax.response); } } else { alert('TX.fail: HTTP code '+cajax.responseStatus[0]); } [captcha] reload_captcha();[/captcha] } cajax.runAJAX(); } </script> <div id="new_comments"></div> <form id="comment" method="post" action="{post_url}" name="form" [ajax]onsubmit="add_comment(); return false;"[/ajax]> <input type="hidden" name="newsid" value="{newsid}" /> <input type="hidden" name="referer" value="{request_uri}" /> {l_addcomment} [not-logged] {l_name} <input type="text" size="30" name="name" value="{savedname}" /> {l_password} <small>{l_ifreg}</small> <input class="password" type="password" maxlength="16" size="30" name="password" value="" /> {l_email} <small>{l_necessary}</small> <input class="email" type="text" size="30" maxlength="70" name="mail" value="{savedmail}" /> [captcha] <img id="img_captcha" onclick="reload_captcha();" src="{captcha_url}?rand={rand}" alt="captcha" /><input class="important" type="text" name="vcode" maxlength="5" size="30" /> [/captcha] [/not-logged] <a href="javascript:ShowOrHide('bbcodes');">{l_bbcodes}</a><br /> <div id="bbcodes" style="display : none;"><br />{bbcodes}</div> <a href="javascript:ShowOrHide('smilies');">{l_smilies}</a><br /> <div id="smilies" style="display : none;"><br />{smilies}</div></td> <textarea name="content" id="content" style="width: 95%;" rows="8"></textarea> <input type="submit" class="button" value="{l_add}"/> <input type="reset" class="button" value="{l_clear}" /> </form>
что делается здесь:
alert('TX.fail: HTTP code '+cajax.responseStatus[0]);
?
у меня при добавлении комментарий к статье выскакивает такая ошибка:
TX.fail: HTTP code 500
ver 0.9.2 (646)
Изменено murmurishka (2014-01-21 09:44:39)
Не в сети
такое ощущение что ошибка 500 веб-сервера..
кстати, нажимаешь ОК на сообщение - окошка loading'a висит.
но если обновить страницу - комментарий добавляется.
Изменено murmurishka (2014-01-21 09:49:30)
Не в сети
Естетственно выводит alert, если /plugin/comments/add/ вернул 500 ошибку.
Не в сети
Естетственно выводит alert, если /plugin/comments/add/ вернул 500 ошибку.
где должен быть этот .../add/ ? я что-то не нашел папки add
Изменено murmurishka (2014-01-21 20:47:42)
Не в сети
Страницы 1