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服务器错误。