本文实例讲述了thinkphp5 + ajax 使用formdata提交数据(包括文件上传) 后台返回json。分享给大家供大家参考,具体如下:
知识点总结
1.json格式标准
{'key':"value"}{"state":"1","msg":"\u7b80\u5386\u6295\u9012\u6210\u529f\uff01"}
前端jquery ajax提交formdata
$.ajax({})
formdata 获取表单数据 包括文件上传新年上班祝福语
html
<form class="am-form" id="recruitinfo"> <div class="col-lg6 col-md-6 col-xs-12 m1rem"> <label>姓名</label> <input type="text" name="post[name]" id="name" required > </div> <div class="col-lg6 col-md-6 col-xs-12 m1rem"> <label>手机号</label> <input type="text" name="post[iphone]" id="iphone" required> </div> <div class="col-lg10 col-md-10 col-xs-12 m2rem"> <label>附件简历:(您的详细信息请都写在简历上,只接受word文档)</label> <div class="am-form-group am-form-file"> <button type="button" class="am-btn am-btn-danger am-btn-sm"> <i class="am-icon-cloud-upload"></i> 选择要上传的简历</button> <input id="doc-form-file" type="file" name="doc" > </div> <div id="file-list"></div> <script> $(湖南理工南湖学院function() { $('#doc-form-file').on('change', function() { var filenames = ''; $.each(this.files, function() { filenames += '<span class="am-badge">' + this.name + '</span> '; }); $('#file-list').html(filenames); }); }); </script> <input type="hidden" name="post[jobname]" id="jobname" value="{$data.job}"> <input type="hidden" name="post[jobnameid]" id="jobnameid" value="{$data.id}"部首偏旁> </div> <div class="col-lg-6 col-md-6 col-xs-12"> <button type="submit" class="am-btn am-btn-primary" onclick="submitform()">提交</button> <a href="javascript:window.history.back(-1);" rel="external nofollow" class="am-btn am-btn-default">返回</a> </div> </form>
js
<script type="text/javascript"> function submitform() { event.preventdefault(); var form =document.getelementbyid('recruitinfo'), formdata = new formdata(form); var url = '{:url("recruitinfo/postfrom")}'; $.aj泰国大选ax({ url:url, type:'post', data:formdata, datatype:'json', processdata:fal, contenttype:fal, success:function (res) { console.lo2008年流行音乐g('请求成功!') console.log(res) }, error:function (xmlhttprequest, textstatus, errorthrown) { console.log('出错啦!') console.log(xmlhttprequest); console.log(textstatus); console.log(errorthrown); } }) } </script>
php json_encode()函数转成json
$callbackinfo = array( 'state' => '1', 'msg' => '简历投递成功!', ); $jsondata =json_encode($callbackinfo); echo $jsondata;
问题
1.前端syntaxerror: unexpected token < in json at position 0 报错
报错原因
使用的thinkphp5
没想到是因为使用了dump()函数 var_dump 这些最后echo出来的不正确导致的,还要要按标准格式来啊
解决方法
去掉dump相似的函数
本文发布于:2023-04-08 19:46:25,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/zuowen/d798cf9e0a307983741f6e636ad11ebe.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:thinkphp5 + ajax 使用formdata提交数据(包括文件上传) 后台返回json完整实例.doc
本文 PDF 下载地址:thinkphp5 + ajax 使用formdata提交数据(包括文件上传) 后台返回json完整实例.pdf
留言与评论(共有 0 条评论) |