加载表单内的 Ajax Post 失败
在按钮单击触发使用 jQuery 的 $.load( 加载外部表单) 的场景中) 方法,当表单尝试发布数据时会出现问题。页面不会转发到预期的 PHP 文件,而是会自行重新加载。
AJAX 概述
在深入研究解决方案之前,了解 AJAX 的概念至关重要(异步 JavaScript 和 XML)。 AJAX 允许网站与服务器交换数据,而无需刷新整个页面。
问题和解决方案
这里的问题源于对 AJAX 工作原理缺乏了解。该按钮使用 $.load() 触发外部表单的加载,但这不会建立 AJAX 请求。要通过 AJAX 发布数据,必须使用 $.ajax() 函数提交表单。
示例代码
考虑以下修改后的代码:
$('#Sel').change(function() { var opt = $(this).val(); var someelse = 'Hello'; var more_stuff = 'Goodbye'; $.ajax({ type: "POST", url: "receiving_file.php", data: 'selected_opt=' + opt + '&something_else=' +someelse+'&more_stuff='+more_stuff, success:function(data){ alert('This was sent back: ' + data); } }); });
在这个修改后的代码中,表单数据是使用 $.ajax() 发布的。该脚本会将选定的值和附加参数发送到“receiving_file.php”,并在警报框中显示返回的数据。
以上是为什么使用 jQuery 的 $.load() 加载表单时我的 AJAX Post 失败?的详细内容。更多信息请关注PHP中文网其他相关文章!