2013-01-24 2 views
0

мой вопрос включает плохой написанный код, он работает, но его беспорядок, в любом случае, это просто для экспериментальных целей, я пытался реализовать «подобную систему», пользователь нажимает на кнопку , идентификатор объекта, связанный с кнопкой, отправляется скрипту через ajax, а таблица mysql обновляется с подобными данными пользователя, которые будут идентификатором объекта. Чтобы сделать это, я должен был использовать PHP эхо из объекта, и как кнопка с яваскриптом функцией, прикрепленной к ней, как это:максимальный размер стека вызовов jQuery version 1.9.0

for($i=0;$i<count($tempest);$i++) 

{echo "<div class='posts'> 
\"".$row2['screen_name']."\" 
<img src=\"".$row2['avatar']."\" width=50 height=50/><br> 
added a new page to the magic title 
    \"".$row3['magic_name']."\" 
    <br> 
<img src=\"".$row1['p_name']."\"> 
<div id=\"".$i."\"> 
<a href='Javascript:penda(\"".$wholei."\",\"".$i."\")'> //this is the javascript function 
<img name='mpe' src='images/like_outline.png'> //this is the like button 
</a></div> 
</div>"; 
} 

я знаю, повторяющей из HTML является ш = просто неправилен, но, как я сказал, что это просто для удовольствия, при использовании JQuery версии 1.8.3, чтобы сделать запрос Ajax здесь:

function penda(item, itid) { 
    itid = itid + ""; 

    $.ajax({ 
     type: "POST", 
     url: "kumbatian.php", 
     data: { 
      penzi: item 
     }, 
     success: function (ful) { 
      if (ful == 'win') document.getElementById('win').innerHTML += "YOU WIN!!"; 
     } 
    }); 
    document.getElementById(itid).innerHTML = "<a href='unlike()'><img src='images/like.png' /></a>"; 
} 

я хотел бы получить следующую ошибку, я использую хром: неперехваченным RangeError: Максимальный размер стека вызовов превышен, я думаю, что это означало, что число «понравилось», которое было эхом, было связано с тем, что многие были привязаны к функции penda, размер массива $ tempest равен 6, поэтому есть шесть подобных кнопок. Когда я обновился до версии jQuery версии 1.9.0, такой ошибки не было, и все сработало нормально, так что это мой вопрос: 1.) Сколько кнопок нужно будет отображать в формате выше для той же ошибки, что и в версии 1.9.0? 2.) Какой лучший способ привязать все функции, подобные кнопкам к функции penda(), чтобы избежать ошибки, которую я испытал?

EDIT: в соответствии с просьбой, вот HTML выход:

<div id="0"><a href="Javasctipt:penda("mna4","0")"> <img name="mpe" src="images/like_outline.png"> </a></div> 

    <div id="1"><a href="Javasctipt:penda("mna4","1")"> <img name="mpe" src="images/like_outline.png"> </a></div> 

    <div id="2"><a href="Javasctipt:penda("mna4","2")"> <img name="mpe" src="images/like_outline.png"> </a></div> 

    <div id="4"><a href="Javasctipt:penda("mna4","4")"> <img name="mpe" src="images/like_outline.png"> </a></div> 

    <div id="5"><a href="Javasctipt:penda("mna4","5")"> <img name="mpe" src="images/like_outline.png"> </a></div> 

    <div id="6"><a href="Javasctipt:penda("mna4","6")"> <img name="mpe" src="images/like_outline.png"> </a></div> 

это все.

+0

Есть ли какая-нибудь рекурсия? Я не вижу ни одного –

+0

Выполняется ли «Uncaught RangeError» при загрузке страницы или происходит ли это при нажатии кнопки подобного типа? – darshanags

+0

@ shiplu.mokadd.im Вы имеете в виду, есть ли петля? да, цикл for, который echos аналогичные кнопки из массива tempest. –

ответ

0

Нет ничего плохого в выводе HTML с PHP.

Что является неправильным, однако, является вашим результатом. Как четко показывает цветовое кодирование, ваши кавычки не экранируются должным образом.

Попробуйте это:

... href="javascript:penda(&quot;mna4&quot;,0)" ... 

С помощью HTML-сущности, избежать конфликта между кавычками. Просто убедитесь, что строковое значение - это не что-то, что может иметь кавычки, иначе вам нужно быть умнее.

+0

спасибо! Мне удалось найти другой путь вокруг него, но ваш ответ все же помогает, это было довольно давно, я спросил об этом, но спасибо в любом случае. –

Смежные вопросы