我对 JavaScript 和 PHP 比较陌生,第一次接触和使用 JSON。我认为我的 AJAX 请求很好,但即便如此,$_POST
数组还是空的。
这是 AJAX 调用:
$( "#submit" ).click( function() {
var submit_basic = $.post( 'index.php/submit_data/pass_basic_data',
get_experience_data()
);
submit_basic.done( function(data) {
alert(data); // for debugging purposes
});
});
这是从表中获取数据的函数:
function get_experience_data() {
var temp, data_exp = [];
$( "#exptable tbody tr" ).each( function() {
temp = {
company: $(this).find('td').eq(0).html(),
position: $(this).find('td').eq(1).html(),
datestart: $(this).find('td').eq(2).html(),
dateend: $(this).find('td').eq(3).html(),
description: $(this).find('td').eq(4).html()
};
data_exp = data_exp.concat(temp);
});
return data_exp;
}
作为参考,仅打印$_POST
数组的目标控制器函数(顺便说一句,我使用的是 CodeIgniter):
public function pass_basic_data() {
var_dump($_POST);
}
你能指出我犯的错误吗,因为我找不到它。非常感谢!
更新:我特别收到这条消息:
array(1) {
["undefined"] =>
string(0) ""
}
更新:
感谢所有的帮助家伙!我已经解决了。它让我在房间里跳舞。我将返回值包装成一{name : value}
对。
$( "#submit" ).click( function() {
var post_vars = get_experience_data();
var submit_basic = $.post( 'index.php/submit_data/pass_basic_data',
{object: post_vars}
);
submit_basic.done( function(data) {
alert(data); // for debugging purposes
});
});