0

我发现了这个问题,我试图在不离开页面的情况下更新我的数据库。

如何在不重新加载页面的情况下更新 mysql 数据库

我正在尝试创建 Sandeepan Nath 发布的脚本。

我所拥有的是一点点编辑。

<script type="text/javascript">

function addItemToUsersList(itemId)
{
  $.ajax
  ({
  'url': 'addtofavourit.php', 
   'type': 'GET',
  'dataType': 'json', 
  'data': {itemid: itemId}, 
   'success': function(data) 
   {
       if(data.status)
       {
           if(data.added)
            {
                   alert("Item added to your personal list");
             }
             else
             {
                    alert("This item is already on your list");
            }
        }
   },
   'beforeSend': function() 
     {
           alert("Adding item to your bucketlist...");
     },
      'error': function(data) 
      {
        // this is what happens if the request fails.
        alert("An error occureed");
    }
});

}

和我的 html(从 php 循环创建)

<div style="margin-top:40px;">
      <a onclick="addItemToUsersList(<?php echo $imgid ?>)" ><b>Add to favourit</b
</a>
</div>

最后,addtofavourit.php 的内容与我试图从中运行 ajax 的页面位于同一文件夹中。

<?php
if($_GET['itemId'] > 1) //just for debugging should always atleast return status true..
 {
    return json_encode(array("status" => true, "added" => true));
 }
 else
 {
    return json_encode(array("status" => true, "added" => false));
 }
?>

结果是我首先得到一个警告框,如预期的那样“将项目添加到您的存储桶列表......”

但在那条消息之后,我得到一个新的警报框:

发生错误

我尝试将 addtofavourit.php 更改为 http://www.domain.com/pathto/addtofavourit.php可能有什么问题 (其中http://www.domaim.com/pathto/是我刚刚为示例添加的个人网站. ) 和 ../addtofavourit.php 但它没有帮助。

有人可以帮我吗,因为我不知道要看。

4

2 回答 2

0

可能您发送 ajax 请求的页面没有到位(正确的路径可能存在问题),请尝试使用 firebug 对其进行分析,如果您发现 ajax 请求已变为红色,则说明您的请求有问题!

于 2013-10-30T13:25:02.983 回答
-1

首先在数据类型前添加 ContentType:

(有时这会导致异步调用不能很好地工作) contentType: "application/json; charset=utf-8",

并删除所有参数(url、type、success等)中的单引号

于 2013-10-30T13:26:10.500 回答