AJAX submit e erro do servidor 500

Recebo o erro do servidor 500 ao tentar executar o meu AJAX. Eu sou muito novo para AJAX. Tudo funciona no código se eu não executo nenhum AJAX no script, por exemplo, apenas executando:

$("#book-appointment-form").submit();

Portanto, parece que todas as funções do database estão bem. No entanto, eu preciso do AJAX para executar meu código em uma página do WordPress.

Não vejo notas nos logs de erro. O registro do console mostra que o URL está apontando para o local correto. O que posso estar faltando?

O registro da consola mostra dados dentro da input oculta que aparece em confirmadoData:

 0: Object name: "csrfToken" value: "0f4343dfd0e71a8fa515d08f340f7bc9" __proto__: Object 1: Object name: "post_data" value: "{"customer":{"last_name":"Test","first_name":"Joe","email":"email4me@verizon.net","phone_number":"9093334444","address":"","city":"","zip_code":"","id_cellcarrier":"2","wp_id":"1"},"appointment":{"start_datetime":"2015-12-25 11:00:00","end_datetime":"2015-12-25 11:50:00","notes":"","is_unavailable":false,"id_users_provider":"85","id_services":"13"},"manage_mode":false}" __proto__: Object length: 2 __proto__: Array[0] 

VISÃO:

  

JS

  $("#book-appointment-form").submit(function(event){ var confirmedData = $(this).serializeArray(); var dataUrl = GlobalVariables.baseUrl + '/index.php/appointments/ajax_confirm_appointment'; $.post(dataUrl, confirmedData, function(response) { //////////////////////////////////////////////////////////// console.log('Customer Confirmed Post Response:', response); //////////////////////////////////////////////////////////// }, 'json'); event.preventDefault(); }); $("#book-appointment-form").submit();  

CONTROLADOR PHP

 load->view('appointments/book_success', $view); $form_data = TRUE; break; } else { $form_data = FALSE; } echo json_encode($form_data); } ?> 

Tentei replace serializeArray() por serialize() . Eu também tentei serializeArray() convertido com $.param(confirmedData) – os mesmos resultados realmente e ainda não parece chegar ao servidor. Falta 500 erros. Eu acho que serialize() pode ser o mais apropriado no entanto.

Não acho que esteja relacionado com o Ajax. Pode haver um problema no script que você está chamando através do ajax.

Tente verificar sem ajax dataUrl

Por favor, também verifique o link. http://pcsupport.about.com/od/findbyerrormessage/a/500servererror.htm

Isso funcionou:

Meu JS

  

Meu CONTROLADOR

 < ?php public function ajax_confirm_appointment() { try { $post_data = $_POST['post_data']; $appointment = $post_data['appointment']; $customer = $post_data['customer']; ...some database stuff here .... } echo json_encode($yn_response); } ?> 

Não há mais 500 erros no servidor.