Javascript AJAX传递变量问题
您好,我正在尝试使用AJAX调用传递表单数据和附加变量,如下所示:Javascript AJAX传递变量问题,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,您好,我正在尝试使用AJAX调用传递表单数据和附加变量,如下所示: function tempFunction(obj) { var data = $('form').serializeArray(); data.push( { no: $(obj).attr('id') } ); $.ajax({ type: "POST", url: "/tempproject/main/
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中,当我尝试回调'no'变量时,我得到一个错误,表示未定义索引。
在我的php文件中,我正在尝试:
$test = $_POST['no'];
echo $test;
单击时,我收到一个弹出窗口,显示未定义的索引编号。数组的每个元素都是一个具有名称和值属性的对象: 试着这样做:
data.push({name: 'no', value: $(obj).attr('id')});
数据应该像在ajax中这样在
{}
中传递
$.ajax({
type: "POST",
url: "/tempproject/main/changepage",
data: "{no: " + $(obj).attr('id') + "}",
success: function (msg) {
alert(msg);
}
});
这将保留表单值
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);
}
});
}
签入浏览器的开发工具发送什么数据..或执行
var_dump($\u POST)
我将执行并发布结果-非常感谢serializeArray()
()以以下格式返回数组:[{name:“name”,value:“name”},…]。因此,你的push()
调用是错误的。^这样看来,我得到了一个完美的数组,直到推送数据被列为未定义状态为止。非常感谢最好的答案奏效了。为那些建议放弃帖子内容的家伙们干杯,我太新手了,我甚至都没想到。谢谢