Проблемы с некоторыми 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 )
Это правильно.
Я не могу понять, почему он вкладывает первый массив в третийone.
Просто обратите внимание, эти массивы являются выводом 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);
}
});
}
Как всегда, спасибо за любую помощь.
Редактировать: С момента запроса я нашел ответ на вопрос.Это было связано с тем, что оператор print_r($_POST)
находился вне оператора if, как это должно было быть.