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 相关文章推荐
PHP url 加密解密函数代码
Aug 26 PHP
解决PHP超大文件下载,断点续传下载的方法详解
Jun 06 PHP
php强制文件下载而非在浏览器打开的自定义函数分享
May 08 PHP
php实现当前页面点击下载文件的简单方法
Sep 22 PHP
thinkPHP数据库增删改查操作方法实例详解
Dec 06 PHP
PHP常用函数总结(180多个)
Dec 25 PHP
php实现的统计字数函数定义与使用示例
Jul 26 PHP
PHP编译configure时常见错误的总结
Aug 17 PHP
php删除一个路径下的所有文件夹和文件的方法
Feb 07 PHP
laravel手动创建数组分页的实现代码
Jun 07 PHP
thinkPHP5框架导出Excel文件简单操作示例
Aug 03 PHP
PHP设计模式之策略模式原理与用法实例分析
Apr 04 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
双料怀旧--SHARP GF515的维护、修理和简单调试
2021/03/02 无线电
php桌面中心(二) 数据库写入
2007/03/11 PHP
PHP中PDO的错误处理
2011/09/04 PHP
实现PHP多线程异步请求的3种方法
2014/01/17 PHP
php 解决扫描二维码下载跳转问题
2017/01/13 PHP
PHP-FPM的配置与优化讲解
2019/03/15 PHP
JavaScript 实现模态对话框 源代码大全
2009/05/02 Javascript
jQuery实现类似淘宝网图片放大效果的方法
2015/07/08 Javascript
jQuery页面加载初始化的3种方法(推荐)
2016/06/02 Javascript
微信小程序 获取设备信息 API实例详解
2016/10/02 Javascript
js实现碰撞检测特效代码分享
2016/10/16 Javascript
bootstrap IE8 兼容性处理
2017/03/22 Javascript
jQuery插件FusionCharts实现的MSBar2D图效果示例【附demo源码】
2017/03/24 jQuery
关于Angularjs中跨域设置白名单问题
2018/04/17 Javascript
node(koa2) web应用模块介绍详解
2019/03/29 Javascript
原生JS实现随机点名项目的实例代码
2019/04/30 Javascript
Python实现桶排序与快速排序算法结合应用示例
2017/11/22 Python
如何使用 Pylint 来规范 Python 代码风格(来自IBM)
2018/04/06 Python
在Pycharm中将pyinstaller加入External Tools的方法
2019/01/16 Python
python读写csv文件实例代码
2019/07/05 Python
django重新生成数据库中的某张表方法
2019/08/28 Python
Python循环实现n的全排列功能
2019/09/16 Python
python并发爬虫实用工具tomorrow实用解析
2019/09/25 Python
python和JavaScript哪个容易上手
2020/06/23 Python
sublime3之内网安装python插件Anaconda的流程
2020/11/10 Python
意大利宠物用品购物网站:Bauzaar
2018/09/15 全球购物
世界上最大的在线汽车租赁预订平台:Rentalcars.com(支持中文)
2018/10/12 全球购物
大学生优秀的自我评价分享
2013/10/22 职场文书
社团招新策划书
2014/02/04 职场文书
安全宣传标语
2014/06/10 职场文书
学校教研活动总结
2014/07/02 职场文书
加强机关作风建设心得体会
2014/10/22 职场文书
2014年小学少先队工作总结
2014/12/18 职场文书
市级三好学生评语
2014/12/29 职场文书
学雷锋献爱心活动总结
2015/05/11 职场文书
MySQL分区路径子分区再分区
2022/04/13 MySQL