从$ ajax中检索链接中的值失败

时间:2013-04-23 11:20:50

标签: php javascript ajax

我正在尝试将产品ID分配给link的值并传递给$ ajax,以便$ ajax可以使用此变量并将其传递给另一个php以更新购物车信息。但是,不幸的是,我没有这样做。如果I Simple在$ 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)!

2 个答案:

答案 0 :(得分: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})

答案 1 :(得分:1)

var value = $(this).attr('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”中编辑购物车,它将正常工作。