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网站判断用户是否是手机访问的方法
Nov 01 PHP
php轻松实现中英文混排字符串截取
May 28 PHP
从零开始学YII2框架(四)扩展插件yii2-kartikgii
Aug 20 PHP
PHP文件缓存类示例分享
Jan 30 PHP
php实现上传图片保存到数据库的方法
Feb 11 PHP
php银联网页支付实现方法
Mar 04 PHP
PHP实现简单汉字验证码
Jul 28 PHP
PHP Filter过滤器全面解析
Aug 09 PHP
php+mysql实现简单登录注册修改密码网页
Nov 30 PHP
yii2 resetful 授权验证详解
May 18 PHP
PHP PDOStatement::fetchObject讲解
Feb 01 PHP
laravel 5.5 关闭token的3种实现方式
Oct 24 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
php的一个登录的类 [推荐]
2007/03/16 PHP
PHP手机号码归属地查询代码(API接口/mysql)
2012/09/04 PHP
Jsonp 跨域的原理以及Jquery的解决方案
2010/05/18 Javascript
javascript判断移动端访问设备并解析对应CSS的方法
2015/02/05 Javascript
jQuery替换textarea中换行的方法
2015/06/10 Javascript
JS实现的另类手风琴效果网页内容切换代码
2015/09/08 Javascript
使用BootStrap实现表格隔行变色及hover变色并在需要时出现滚动条
2017/01/04 Javascript
微信小程序 安全包括(框架、功能模块、账户使用)详解
2017/01/16 Javascript
解决vue脚手架项目打包后路由视图不显示的问题
2018/09/20 Javascript
angularJS实现不同视图同步刷新详解
2018/10/09 Javascript
js页面加载后执行的几种方式小结
2020/01/30 Javascript
[02:38]DOTA2亚洲邀请赛 IG战队巡礼
2015/02/03 DOTA
Python实现简单状态框架的方法
2015/03/19 Python
python 的列表遍历删除实现代码
2020/04/12 Python
Flask框架的学习指南之用户登录管理
2016/11/20 Python
python用pickle模块实现“增删改查”的简易功能
2017/06/07 Python
Python内置函数delattr的具体用法
2017/11/23 Python
Python使用Django实现博客系统完整版
2020/09/29 Python
解决使用pycharm提交代码时冲突之后文件丢失找回的方法
2018/08/05 Python
Django 限制用户访问频率的中间件的实现
2018/08/23 Python
在django admin中配置搜索域是一个外键时的处理方法
2020/05/20 Python
Python常见反爬虫机制解决方案
2020/06/01 Python
浅析几个CSS3常用功能的写法
2014/06/05 HTML / CSS
iHerb香港:维生素、补充剂和天然保健品
2017/08/01 全球购物
2013年办公室秘书的个人自我鉴定
2013/10/24 职场文书
会计专业自荐信范文
2013/12/02 职场文书
宣传部部长竞选演讲稿
2014/04/26 职场文书
责任心演讲稿
2014/05/14 职场文书
展览会邀请函
2015/02/02 职场文书
幼儿园小班工作总结2015
2015/04/25 职场文书
幼儿园小班开学寄语
2015/05/27 职场文书
2015年物业公司保洁工作总结
2015/10/22 职场文书
手把手教你从零开始react+antd搭建项目
2021/06/03 Javascript
JVM的类加载器和双亲委派模式你了解吗
2022/03/13 Java/Android
Nginx设置HTTPS的方法步骤 443证书配置方法
2022/03/21 Servers
mysql数据库隔离级别详解
2022/06/16 MySQL