Javascript 阿贾克斯赢了';t启动对php表单的POST请求
出于某种原因,我的表单不会发布,有没有关于原因的想法(我已经知道我服务器上的所有其他内容都可以运行)?代码如下: PHPJavascript 阿贾克斯赢了';t启动对php表单的POST请求,javascript,php,jquery,ajax,forms,Javascript,Php,Jquery,Ajax,Forms,出于某种原因,我的表单不会发布,有没有关于原因的想法(我已经知道我服务器上的所有其他内容都可以运行)?代码如下: PHP HTML/ajaxjs 姓名: 信息: 回复 函数pos(){ 变量值=$(“形式”).serialize(); $.post('form.php',值,函数(响应){ console.log(“响应:+响应”); });} 我的网站上的演示: jakesandbox.com/dnd/ (以上未提供的任何信息将根据要求在评论中提供)问题在于,您的按钮实
HTML/ajaxjs
姓名:
信息:
回复
函数pos(){
变量值=$(“形式”).serialize();
$.post('form.php',值,函数(响应){
console.log(“响应:+响应”);
});}
我的网站上的演示: jakesandbox.com/dnd/
(以上未提供的任何信息将根据要求在评论中提供)问题在于,您的按钮实际上是在提交表单(本质上是在提交表单时重新加载页面)。您需要做以下两件事之一:
type=“button”
以防止其提交(表单元素中的按钮变为提交按钮):回复
回复
功能pos(e){
e、 预防默认值();
变量值=$(“形式”).serialize();
$.post('form.php',值,函数(响应){
console.log(“响应:+响应”);
});}
-或-
回复
事实证明,您的表单实际上是通过GET请求正常发送的(您可能会看到页面重新加载)。当表单中的按钮没有指定类型(默认为submit)时,会发生此错误
表单中“提交”类型的按钮提交表单,而“按钮”类型的按钮不提交表单
只需将属性type=“button”添加到按钮中,您的问题就会得到解决
<button type="button" onclick="pos();">reply</button>
回复
在php端进行调试,以确定数据是否真的来了
<?php
header('Content-Type: application/json');
echo json_encode($_POST);
控制台中是否有错误?你确定
值
与表单的序列化值相关吗?好的,我明天早上试试这个,然后回来报告
<button type="button" onclick="pos();">reply</button>
<button type="button" onclick="pos(event);">reply</button>
<script type="text/javascript">
function pos(e){
e.preventDefault();
var values=$("form").serialize();
$.post('form.php', values, function(response) {
console.log("Response: "+response);
});}
</script>
<button type="button" onclick="pos(); return false;">reply</button>
<button type="button" onclick="pos();">reply</button>
<?php
header('Content-Type: application/json');
echo json_encode($_POST);
$.post('form.php', values, function(response) {
console.log(response); // return json
});}