Jquery 无法让Ajax工作

Jquery 无法让Ajax工作,jquery,ajax,Jquery,Ajax,我发现了这个问题,我正试图用它来更新我的数据库而不离开页面 我正在尝试创建Sandepan Nath发布的脚本 我所做的只是稍加修改 <script type="text/javascript"> function addItemToUsersList(itemId) { $.ajax ({ 'url': 'addtofavourit.php', 'type': 'GET', 'dataType': 'json', 'data': {itemid:

我发现了这个问题,我正试图用它来更新我的数据库而不离开页面

我正在尝试创建Sandepan 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");
    }
});

函数AddItemToUserList(itemId)
{
$.ajax
({
'url':'addtofavourit.php',
'type':'GET',
“数据类型”:“json”,
'data':{itemid:itemid},
“成功”:函数(数据)
{
if(数据状态)
{
如果(添加数据)
{
提醒(“添加到您个人列表中的项目”);
}
其他的
{
警报(“此项目已在您的列表中”);
}
}
},
“beforeSend”:函数()
{
警报(“将项目添加到您的bucketlist…”);
},
“错误”:函数(数据)
{
//如果请求失败,就会发生这种情况。
警报(“发生错误”);
}
});
}

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


(示例中刚刚添加的个人网站在哪里。)和../addtofavourit.php,但没有帮助


有人能帮我一下吗,因为我不知道我们要看什么。

可能是您发送ajax请求的页面不到位(可能是正确的路径有问题),试着用firebug分析它,如果您看到ajax请求变成了红色,则表明您的请求有问题

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

(有时这会导致异步调用无法正常工作) contentType:“应用程序/json;字符集=utf-8”


并删除所有参数(url、类型、成功等)中的单引号。

检查控制台是否有错误?此外,这似乎是一个
POST
请求。给定的链接不起作用。。。你能检查一下吗,或者试着显示错误信息。我猜你的意思是,这个链接是一个示例domain.com,它被我的real.com更改了domain@tymeJVPost和get可以在以后更改。我想get应该可以工作。你不是应该在php中回音而不是返回吗?我看到你在“application/json;charset=utf-8”周围使用了双引号,我有单引号'我应该把一切都改成双引号吗?在发送之前,我是否需要删除success周围的引号?我认为这是相同的(这只是一种用法),但是是尝试使用双引号并添加ContentType。是的,删除succes、url和所有参数周围的引号。所有这些都是,但没有这样做。还增加了警报(数据);to error:但它会返回Object.Objects尝试在调用中只返回一个简单字符串,可能这就是错误(在服务器端)没有变为红色,而是变为黑色
<div style="margin-top:40px;">
      <a onclick="addItemToUsersList(<?php echo $imgid ?>)" ><b>Add to favourit</b
</a>
</div>
<?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));
 }
?>