遇到一些jQuery ajax的问题。我有三种情况可以发送请求。
在单独测试所有组件并让它们工作以及搜索此站点后,我非常确定问题在于ajax请求。
通过按钮点击调用请求。 (即<button onclick="edit_pubs('userid_modifies_action_id');">edit</button>
)
我得到的问题是,在页面上发送到数组的数据如下所示:
Array ( [action] => load [userid] => username )
这是正确的Array ( [action] => load [userid] => Array ( [userid] => username [modifies] => c [action] => dn [id] => Book ) )
这是不正确的Array ( [userid] => username [modifies] => c [action] => ed [id] => Book )
这是正确的。我无法弄清楚为什么它将第一个数组嵌入第三个数组中。
请注意,这些数组是print_r ( $_POST );
之前die;
的输出。
我为$.ajaxSetup
设置了以下设置:
$.ajaxSetup({
url: "ajax_admin_load_pubs.php",
global: false,
type: "post"
});
以下是ajax功能:
function modify_pubs(action) {
var action_list = action.split('_');
$.ajax({
data : {'kuoid' : action_list[0], 'modifies' : action_list[1],
'action' : action_list[2], 'id' : action_list[3]},
dataType : "text",
success : function(usr) {load_pubs(usr);}
});
}
function load_pubs(usr) {
$.ajax({
// Tested data in either order, the array always appends itself to kuoid.
data : {'action' : 'load', 'kuoid' : usr},
dataType : "text",
success : function(response) {
$('#pub-mod-list').html(response);
}
});
}
function edit_pubs(action) {
var action_list = action.split('_');
$.ajax({
data : {'kuoid' : action_list[0], 'modifies' : action_list[1],
'action' : action_list[2], 'id' : action_list[3]},
dataType : "text",
success : function(response) {
$('#pub-mod-list').html(response);
}
});
}
一如既往,感谢您的帮助。
编辑:自问以来,我找到了问题的答案。这是因为在if语句之外有一个print_r($_POST)
语句,就像它应该的那样。
答案 0 :(得分:0)
这是因为if语句之外的print_r($_POST)
语句应该是这样的。因此,当使用jQuery.ajax时,响应正在捕获它。