3

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

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

在我使用的 Ajax 中:

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 );
    });
}

它失败。

有人可以帮我吗?而且,顺便说一句,我尝试使用.load(). 它有效,但问题是它只是向我展示了我添加的产品。似乎对服务器没有影响。无论如何,我的第二个问题是$ajax能让我更新服务器中的购物车吗?我使用的是旧版本的 WAMP(1.6.4)!

4

2 回答 2

2

您应该在锚点中传递 this 的值:

<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 和 value 都使用下面的代码:

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

并将其传递给数据,如下所示:

data: ({id: id, value: value})
于 2013-04-23T11:24:48.943 回答
1
var value = $(this).attr('value'); 

您正在检索值 (value="100") 而不是 id,它应该是:

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”中编辑您的购物车,它将正常工作。

于 2013-04-23T11:27:11.330 回答