我记得我去年使用jQuery ajax帖子,我只需键入$_POST [‘param’]即可获得帖子数据.今天我再次使用它来进行项目,所以我加载了最新的jQuery lib并使用了以下代码:
<script type="text/javascript"> $(document).on('submit','.ajaxform',function(e){ e.preventDefault(); var datastring = $(this).serialize(); $.ajax({ type: "POST",data: datastring,contentType: "application/json; charset={CHARSET}",dataType: "json",beforeSend: function(){ console.log($(this).serialize()); },success: function(data){ alert('yes'); },error: function(errMsg){ alert('error'); } }); }); </script> <form action="" id="register" name="register" class="ajaxform" method="post" enctype="multipart/form-data"> <input type="text" name="username" value="" /> <input type="password" name="password" value="" /> <input type="hidden" name="action" value="register" /> <input type="hidden" name="{TOKENID}" value="{TOKEN}" /> <input type="submit" value="Register" /> </form>
提交后,我无法通过键入$_POST [‘username’]来获取输入字段值.
我检查了检查元素,我注意到有些不同.
Request URL:http://project0/member.php Request Method:POST Status Code:200 OK ... ... Content-Type:application/json; charset=UTF-8 ... ... Request payload: username=asd&password=asd&action=register&29cd5e5ca1=73050db390872eb7c3fc564206b961c59a6363d6
这就是为什么我只能输入$_POST [‘param’]来获取POST数据?如何返回POST数据而不是有效负载?
除了:
contentType: "application/json; charset={CHARSET}"
使用(内容类型的默认值):
contentType: "application/x-www-form-urlencoded; charset=UTF-8"
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。