AJAX提交和500服务器错误

尝试运行我的AJAX时出现500服务器错误。 我是AJAX的新手。 如果我在脚本中没有运行AJAX,那么每个东西都在代码中运行,例如只运行:

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

因此,似乎所有数据库function都很好。 但是,我需要AJAX在Wordpress页面中运行我的代码。

我没有在错误日志中看到任何注释。 控制台日志显示该URL指向正确的位置。 我可能缺少什么?

控制台日志显示hiddenData中显示的隐藏输入中的数据:

 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] 

视图:

  

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();  

PHP控制器

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

我试过用serializeArray()替换serialize() 。 我也试过用$.param(confirmedData) serializeArray()转换的serializeArray() – 真的相同的结果,但它似乎没有到达服务器。 500错误仍然存​​在。 我认为serialize()可能更合适。

我不认为它与Ajax有关。 您通过ajax调用的脚本可能存在问题。

尝试在没有ajax dataUrl情况下进行检查

还请检查链接。 http://pcsupport.about.com/od/findbyerrormessage/a/500servererror.htm

这工作:

我的JS

  

我的控制器

  

没有500服务器错误。