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 相关文章推荐
粗略计算在线时间,bug:ip相同
Dec 09 PHP
修改php.ini实现Mysql导入数据库文件最大限制的修改方法
Dec 11 PHP
深入解析php之sphinx
May 15 PHP
解析php中mysql_connect与mysql_pconncet的区别详解
May 15 PHP
php IP转换整形(ip2long)的详解
Jun 06 PHP
php中生成随机密码的自定义函数代码
Oct 21 PHP
php 过滤英文标点符号及过滤中文标点符号代码
Jun 12 PHP
PHP中mysql_field_type()函数用法
Nov 24 PHP
php从完整文件路径中分离文件目录和文件名的方法
Mar 13 PHP
php实现的统计字数函数定义与使用示例
Jul 26 PHP
PHP实现腾讯短网址生成api接口实例
Dec 08 PHP
php中使用array_filter()函数过滤数组实例讲解
Mar 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
php站内搜索并高亮显示关键字的实现代码
2011/12/29 PHP
解析htaccess伪静态的规则
2013/06/18 PHP
使用GDB调试PHP代码,解决PHP代码死循环问题
2015/03/02 PHP
php实现用于验证所有类型的信用卡类
2015/03/24 PHP
PHP获取当前日期和时间及格式化方法参数
2015/05/11 PHP
提交表单后 PHP获取提交内容的实现方法
2016/05/25 PHP
php操作xml并将其插入数据库的实现方法
2016/09/08 PHP
asp.net和asp下ACCESS的参数化查询
2008/06/11 Javascript
jquery.post用法关于type设置问题补充
2014/01/03 Javascript
javascript使用正则表达式检测IP地址
2014/12/03 Javascript
15款jQuery分布引导插件分享
2015/02/04 Javascript
基于JavaScript代码实现微信扫一扫下载APP
2015/12/30 Javascript
谈谈Vue.js——vue-resource全攻略
2017/01/16 Javascript
self.attachevent is not a function的解决方法
2017/04/04 Javascript
Angular4学习笔记之新建项目的方法
2017/07/18 Javascript
详解angularjs的数组传参方式的简单实现
2017/07/28 Javascript
完美解决axios在ie下的兼容性问题
2018/03/05 Javascript
微信小程序搭建自己的Https服务器
2019/05/02 Javascript
详解elementui之el-image-viewer(图片查看器)
2019/08/30 Javascript
vue-cli3项目配置eslint代码规范的完整步骤
2020/09/10 Javascript
[00:59]DOTA2荣耀之路1:Doom is back!weapon X!
2018/05/22 DOTA
Python可跨平台实现获取按键的方法
2015/03/05 Python
centos 安装python3.6环境并配置虚拟环境的详细教程
2018/02/22 Python
django框架自定义用户表操作示例
2018/08/07 Python
python八皇后问题的解决方法
2018/09/27 Python
Python函数参数匹配模型通用规则keyword-only参数详解
2019/06/10 Python
详解Python遍历列表时删除元素的正确做法
2021/01/07 Python
css3隔行变换色实现示例
2014/02/19 HTML / CSS
使用CSS禁止textarea调整大小功能的方法
2015/03/13 HTML / CSS
美国美食礼品篮网站:Gourmet Gift Baskets
2019/12/15 全球购物
使用C#编写创建一个线程的代码
2013/01/22 面试题
电大物流学生的自我评价
2013/10/25 职场文书
半年思想汇报
2013/12/30 职场文书
大学生英文求职信范文
2015/03/19 职场文书
乔布斯辞职信(中英文对照)
2015/05/12 职场文书
小学生反邪教心得体会
2016/01/15 职场文书