AJAX传递变量问题

时间:2014-04-02 11:16:25

标签: javascript php jquery ajax

大家好我尝试使用AJAX调用传递表单数据和附加变量,如下所示:

function tempFunction(obj) {
    var data = $('form').serializeArray();
    data.push(
        {
            no: $(obj).attr('id')
        }
    );

    $.ajax({
        type: "POST",
        url: "/tempproject/main/changepage",
        data: data,
        success: function (msg) {
            alert(msg);
        }
    });
}

然而在PHP中,当我尝试回拨“不”的时候。变量我收到一个错误说未定义的索引。 在我的php文件中我正在尝试:

$test  = $_POST['no'];
echo $test;

点击时我会收到一个显示未定义索引号的弹出窗口

3 个答案:

答案 0 :(得分:2)

数组的每个元素都是一个具有name和value属性的对象:

试试这样:

data.push({name: 'no', value: $(obj).attr('id')});

答案 1 :(得分:1)

数据应该在ajax

中像这样在{}内传递
    $.ajax({
        type: "POST",
        url: "/tempproject/main/changepage",
        data: "{no: " + $(obj).attr('id') + "}",
        success: function (msg) {
            alert(msg);
        }
    });

答案 2 :(得分:0)

这将保留您的表单值

function tempFunction(obj) {

  var data = $('form').serialize(); 
  data += '&no='.$(obj).attr('id');

  $.ajax({
        type: "POST",
        url: "/tempproject/main/changepage",
        data: data,
        success: function (msg) {
            alert(msg);
        }
    });
}