thinkphp5 + ajax 使用formdata提交数据(包括文件上传) 后台返回json完整实例


Posted in PHP onMarch 02, 2020

本文实例讲述了thinkphp5 + ajax 使用formdata提交数据(包括文件上传) 后台返回json。分享给大家供大家参考,具体如下:

知识点总结

1.json格式标准

{

'key':"value"

}

{"state":"1","msg":"\u7b80\u5386\u6295\u9012\u6210\u529f\uff01"}

thinkphp5 + ajax 使用formdata提交数据(包括文件上传) 后台返回json完整实例

thinkphp5 + ajax 使用formdata提交数据(包括文件上传) 后台返回json完整实例

前端jquery ajax提交formdata 

$.ajax({

})

thinkphp5 + ajax 使用formdata提交数据(包括文件上传) 后台返回json完整实例

 formdata 获取表单数据 包括文件上传

thinkphp5 + ajax 使用formdata提交数据(包括文件上传) 后台返回json完整实例

 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")}';


          $.ajax({
            url:url,
            type:'post',
            data:formdata,
            dataType:'json',
            processData:false,
            contentType:false,
            success:function (res) {
              console.log('请求成功!')
              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相似的函数

希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。

PHP 相关文章推荐
第1次亲密接触PHP5(1)
Oct 09 PHP
几种显示数据的方法的比较
Oct 09 PHP
php中目录,文件操作详谈
Mar 19 PHP
php escape URL编码
Dec 10 PHP
用php实现的获取网页中的图片并保存到本地的代码
Jan 05 PHP
php切割页面div内容的实现代码分享
Jul 31 PHP
PHP超级全局变量数组小结
Oct 04 PHP
浅析php插件 Simple HTML DOM 用DOM方式处理HTML
Jul 01 PHP
PHP SPL标准库中的常用函数介绍
May 11 PHP
php解析url并得到url中的参数及获取url参数的四种方式
Oct 26 PHP
PHP 自动加载的简单实现(推荐)
Aug 12 PHP
在php7中MongoDB实现模糊查询的方法详解
May 03 PHP
php加速缓存器opcache,apc,xcache,eAccelerator原理与配置方法实例分析
Mar 02 #PHP
让whoops帮我们告别ThinkPHP6的异常页面
Mar 02 #PHP
php高性能日志系统 seaslog 的安装与使用方法分析
Feb 29 #PHP
PHP中关于php.ini参数优化详解
Feb 28 #PHP
php多进程并发编程防止出现僵尸进程的方法分析
Feb 28 #PHP
php 的多进程操作实践案例分析
Feb 28 #PHP
php 下 html5 XHR2 + FormData + File API 上传文件操作实例分析
Feb 28 #PHP
You might like
杏林同学录(七)
2006/10/09 PHP
ajax php 实现写入数据库
2009/09/02 PHP
基于Linux调试工具strace与gdb的常用命令总结
2013/06/03 PHP
使用session判断用户登录用户权限(超简单)
2013/06/08 PHP
php调用google接口生成二维码示例
2014/04/28 PHP
简要剖析PHP的Yii框架的组件化机制的基本知识
2016/03/17 PHP
基于JQuery模仿苹果桌面的Dock效果(初级版)
2012/10/15 Javascript
Jquery中Event对象属性小结
2015/02/27 Javascript
JS实现动态移动层及拖动浮层关闭的方法
2015/04/30 Javascript
jQuery常用知识点总结以及平时封装常用函数
2016/02/23 Javascript
老生常谈Bootstrap媒体对象
2017/07/06 Javascript
基于 flexible 的 Vue 组件:Toast -- 显示框效果
2017/12/26 Javascript
jquery实现左右轮播切换效果
2018/01/01 jQuery
手动用webpack搭建第一个ReactApp的示例
2018/04/11 Javascript
JS+canvas画布实现炫酷的旋转星空效果示例
2019/02/13 Javascript
vue指令v-html使用过滤器filters功能实例
2019/10/25 Javascript
微信小程序停止其他视频播放当前视频的实例代码
2019/12/25 Javascript
详解vue beforeEach 死循环问题解决方法
2020/02/25 Javascript
Python实现中一次读取多个值的方法
2018/04/22 Python
Python中利用xpath解析HTML的方法
2018/05/14 Python
pybind11在Windows下的使用教程
2019/07/04 Python
pandas 如何分割字符的实现方法
2019/07/29 Python
python并发编程 Process对象的其他属性方法join方法详解
2019/08/20 Python
Python+PyQt5+MySQL实现天气管理系统
2020/06/16 Python
利用python汇总统计多张Excel
2020/09/22 Python
英国著名的小众美容品牌网站:Alyaka
2017/08/08 全球购物
英国复古皮包品牌:Beara Beara
2018/07/18 全球购物
.NET面试题:什么是反射
2016/09/30 面试题
甲方资料员岗位职责
2013/12/13 职场文书
护士求职信
2014/07/05 职场文书
股指期货心得体会
2014/09/10 职场文书
2014年食堂工作总结
2014/11/20 职场文书
2015社区精神文明建设工作总结
2015/04/21 职场文书
活动总结模板大全
2015/05/11 职场文书
企业管理不到位检讨书
2019/06/27 职场文书
详解nginx location指令
2022/01/18 Servers