我想在一个ajax请求上发送两个参数

时间:2012-05-25 13:15:46

标签: jquery ajax

我有这个代码,我想发送两个值 如你所见,我已经在数据中占据领先地位,我想发送带ledit的ledit2

$('.ledit').click(function() {
    var ledit = $(this).attr("id");
    var ledit2 = $('.valu').val();

    $.ajax({
        url: 'edit.php',
        data: 'ledit=' + ledit,
        // here i want send ledit2
        success: function(data) {
            $('.edito').html('dddddddddd');
        }
    });
});​

4 个答案:

答案 0 :(得分:7)

您可以将data属性设置为对象:

$('.ledit').click(function() {
    var ledit = $(this).attr("id");
    var ledit2 = $('.valu').val();

    $.ajax({
        url: 'edit.php',
        data: {
            ledit : ledit,
            ledit2 : ledit2
        },
        success: function(data) {
            $('.edito').html('dddddddddd');
        }
    });
});​

答案 1 :(得分:2)

为什么两个电话?只需执行一个传递值

的ajax调用
$.ajax({
        url: 'edit.php',
        data: 'ledit=' + ledit + "&ledit2=" + ledit2,
        ...
});

除非您对值进行编码(例如使用encodeURIComponent),否则最好使用对象,如@VisioN

所示

答案 2 :(得分:2)

您可以使用data参数的对象文字:

data: { ledit: ledit, ledit2: ledit2 }

或者您可以在网址中使用&运算符:

data: 'ledit=' + ledit + '&ledit2=' + ledit2

答案 3 :(得分:0)

你试过这样做吗?

    $.ajax({
        url: 'edit.php',
        data: '{ "ledit":' + ledit + ', "ledit2":' + ledit2 + '}',
        success: function(data) {
            $('.edito').html('dddddddddd');
        }
    });

或者更好:

    $.ajax({
        url: 'edit.php',
        data: JSON.stringify({ ledit: ledit, ledit2: ledit2}),
        success: function(data) {
            $('.edito').html('dddddddddd');
        }
    });