Обновить базу данных без перезагрузки страницы - PullRequest
0 голосов
/ 03 сентября 2010

Я только что получил фантастическую помощь от Сандипана, спасибо!

Пожалуйста, кто-нибудь может увидеть, что я сделал не так с этим ....

<head>
<script type="text/javascript" src="jquery-1.4.2.js"></script>
<script type="text/javasript">

function addItemToUsersList(itemId)
{
  $.ajax({
      'url': 'member-bucketadd-execTEST.php', 
       'type': 'GET',
      'dataType': 'json', 
      'data': {itemid: itemId}, 
       'success': function(data) 
       {
           if(data.status)
           {
               if(data.added)
                {
                        $("span#success"+itemId).attr("innerHTML","Item added to your personal list");
                 }
                 else
                 {
                        $("span#success"+itemId).attr("innerHTML","This item is already on your list");
                }
            }
       },
       beforeSend: function() 
         {
               $("span#success"+itemId).attr("innerHTML","Adding item to your bucketlist...");
         }
          'error': function(data) 
          {
          // what happens if the request fails.
            $("span#success"+itemId).attr("innerHTML","An error occureed");
        }
});
                  }
     </script>

</head>

Тогда кнопка для активациифункция в:

   <a onclick='addItemToUsersList("<?php echo $itemid ; ?>")'> Add<img src='images/plus-green.png' /> </a>

и страница exec:

<?php 

if($bucketlist < 1) 
 {
    mysql_query("INSERT INTO membersbuckets (memberbucketid, userid, bucketid, complete)
    VALUES ('', '$userid', '$_GET['itemId]', '0')");
        return json_encode(array("status" => true, "added" => true));
 }
 else
 {
        return json_encode(array("status" => true, "added" => false));
 }



//echo "You are being directed to your bucket list, please wait a few moments...<meta http-equiv='Refresh' content='2; URL=mybucketlist.php'/>";
?> 

Ссылки отображаются как ссылки, но ничего не происходит, когда я нажимаю на них !!Вот тестовая страница, над которой я работаю http://olbl.co.uk/showbucketsTEST.php Заранее спасибо!

Ответы [ 3 ]

5 голосов
/ 03 сентября 2010

Вот как бы я это понял. Откройте страницу в Firefox с включенным Firebug. Включите «консоль».

Если это ошибка Javascript, вы ее увидите. Firebug также отображает трафик ajax, так что вы можете открыть ваши запросы ajax и посмотреть, не произошла ли ошибка сервера.

2 голосов
/ 03 сентября 2010

изменить

<a onclick="addItemToUsersList("<?php echo $itemid ; ?>")">

на

<a onclick="addItemToUsersList(<?php echo $itemid ; ?>)">

(кавычки внутри кавычек вызывают проблемы.)

РЕДАКТИРОВАТЬ: Кроме того, изменить:

<script type="text/javasript">

в

<script type="text/javascript">

Как подсказал @Dave, я проследил проблему с firebug, и он сказал, что addItemToUsersList не определен, поэтому я искал его всодержание и нашел опечатку в теге <script>.

0 голосов
/ 03 сентября 2010

Если я не ошибаюсь, у вас должен быть атрибут 'href', чтобы браузер распознал его как ссылку. Попробуйте добавить href="javascript:void(0)" к ссылкам. # обновит страницу.

ОБНОВЛЕНИЕ: Хм, это правда, что мы не 'ссылка', но с jQuery событие должно запускаться независимо. Я бы все еще попробовал.

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