簡體   English   中英

更新數據庫而無需重新加載頁面

[英]Update database without reloading page

Ive剛剛從Sandeepan那里獲得了一些很棒的幫助,謝謝!

請任何人看看我在這方面做錯了什么....

<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>

和執行頁面:

<?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預先謝謝您!

這是我想出的方法。 在Firefox開啟的情況下在Firefox中打開頁面。 打開“控制台”。

如果是Javascript錯誤,則會看到它。 Firebug也會顯示ajax流量,因此您可以打開ajax請求並查看是否收到服務器錯誤。

更改

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

進入

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

(引號內的引號引起問題。)

編輯:另外,更改:

<script type="text/javasript">

進入

<script type="text/javascript">

正如@Dave所建議的那樣,我跟蹤了螢火蟲的問題,並說未定義addItemToUsersList ,因此我在內容中進行搜索並在<script>標記中找到了錯字。

如果我沒記錯的話,瀏覽器必須具有“ href”屬性,才能將其識別為鏈接。 嘗試將href="javascript:void(0)"到鏈接中。 #將使頁面刷新。

更新:嗯,關於不是一個“鏈接”,這是正確的,但是使用jQuery時,無論該事件應該觸發。 我仍然會嘗試。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM