2013-04-23 70 views
3

我想将产品ID分配给链接的值并传递给$ ajax,以便$ ajax可以使用此变量并将其传递给另一个php来更新购物车信息。但不幸的是,我没有这样做。如果我简单地在$ ajax中设置var值,它会起作用。 以下是将值传递给$ ajax的链接。

<a id ="'.$row["id"].'" value ="100" href="javascript:void(0)" onclick="myCall();"> 

而在阿贾克斯我用:

script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script> 
    <script> 
function myCall() { 
//var value = 50; 
var value = $(this).attr('value'); 
    var request = $.ajax({ 
     url: "ajax.php", 
     type: "GET", 
     data: ({id: value}), 
     //dataType: "html" 
    }); 

    request.done(function(msg) { 
     $(".bottomcorners").html(msg);   
    }); 

    request.fail(function(jqXHR, textStatus) { 
     alert("Request failed: " + textStatus); 
    }); 
} 

它失败。

有人可以帮我吗?顺便说一句,我试图使用​​。它的工作原理,但问题是它只显示我添加的产品。它似乎对服务器没有影响。无论如何,我的第二个问题是$ajax能让我更新我的服务器中的购物车吗?我正在使用旧版本的WAMP(1.6.4)!

+0

你的ajax.php中有什么? 你为什么认为没有任何工作? 要查看服务器上只有客户端JS会发生什么情况,您可以在'$ .ajax'调用中重写'success'函数 – 2013-04-23 11:23:40

回答

2

你应该通过这个值在锚:

<a id ="'.$row["id"].'" value ="100" href="javascript:void(0)" onclick="myCall(this);"> 

,并在通话时的功能,这应该是这样的:

function myCall(that) { 
//var value = 50; 
var value = $(that).attr('value'); 
    var request = $.ajax({ 
     url: "ajax.php", 
     type: "GET", 
     data: ({id: value}), 
     //dataType: "html" 
    }); 
// and so on code 

编辑

如果你想要的ID和价值都使用以下代码:

var value = $(that).attr('value'); 
var id = $(that).attr('id'); 

和在数据传递如下:

data: ({id: id, value: value}) 
+0

嗨,我试过了你的方法,但是...仍然失败。 – user2295136 2013-04-23 11:40:01

+0

@ user2295136你想在id的基础上更新值或值? – 2013-04-23 11:41:17

+0

我传递给ajax.php的ID是产品的实际ID。所以我想将这个ID传递给ajax.php,然后在ajax.php中,它将根据它的id将产品添加到购物车。 – user2295136 2013-04-23 11:57:45

1
var value = $(this).attr('value'); 

要检索的值而不是ID(值= “100”),它应该是:

var id = $(this).attr('id'); 

如果您想同时通过:

var request = $.ajax({ 
    url: "ajax.php", 
    type: "GET", 
    data: {id: id, value: value } 
    //dataType: "html" 
}); 

您也可以像这样做:

$.get("ajax.php", {id: id, value: value}); 

关于你提到的第二个问题:

AJAX将执行“ajax.php” 在服务器,所以如果你在编辑您的购物车“ajax.php”它将正常工作。

+0

嘿,我也试过你的,但是......同样的故事。实际上,在ajax.php中,为了测试的目的,我使用random()来回显某个数字。我可以得到随机数。但下面的一堆不起作用。 $ ID = $ _GET ['id']; $ value = $ _GET ['value']; echo $ ID,$ value; – user2295136 2013-04-23 11:47:15

+0

您的两个方法都可用于回显ajax.php中的random()函数,但未能回显id和值。任何其他建议?或线索? – user2295136 2013-04-23 11:54:06

+0

我不太明白,你可以请你发布你的“ajax.php”吗? – Naryl 2013-04-23 11:55:19