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个人网站架设连环讲(一)
Oct 09 PHP
php MySQL与分页效率
Jun 04 PHP
PHP下escape解码函数的实现方法
Aug 08 PHP
php中用数组的方法设置cookies
Apr 21 PHP
说说PHP的autoLoad自动加载机制
Sep 27 PHP
thinkPHP的Html模板标签使用方法
Nov 13 PHP
PHP错误提示的关闭方法详解
Jun 23 PHP
利用PHP实现短域名互转
Jul 05 PHP
php单态设计模式(单例模式)实例
Nov 18 PHP
Yii2框架使用计划任务的方法
May 25 PHP
bindParam和bindValue的区别以及在Yii2中的使用详解
Mar 12 PHP
PHP实现微信小程序用户授权的工具类示例
Mar 05 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读取和编写XML DOM的实现代码
2011/02/03 PHP
phplist及phpmailer(组合使用)通过gmail发送邮件的配置方法
2016/03/30 PHP
php判断用户是否关注微信公众号
2016/07/22 PHP
js变量作用域及可访问性的探讨
2006/11/23 Javascript
editable.js 基于jquery的表格的编辑插件
2011/10/24 Javascript
jquery图片滚动放大代码分享(1)
2015/08/25 Javascript
DeviceOne 让你一见钟情的App快速开发平台
2016/02/17 Javascript
JQuery EasyUI Layout 在from布局自适应窗口大小的实现方法
2016/05/28 Javascript
JS实现浏览上传文件的代码
2017/08/23 Javascript
React组件refs的使用详解
2018/02/09 Javascript
原生JS实现的轮播图功能详解
2018/08/06 Javascript
vue form 表单提交后刷新页面的方法
2018/09/04 Javascript
json字符串对象转换代码实例
2019/09/28 Javascript
AutoJs实现刷宝短视频的思路详解
2020/05/22 Javascript
用vue 实现手机触屏滑动功能
2020/05/28 Javascript
Python查看多台服务器进程的脚本分享
2014/06/11 Python
Python selenium 父子、兄弟、相邻节点定位方式详解
2016/09/15 Python
Python 数据结构之队列的实现
2017/01/22 Python
Python实现自动发送邮件功能
2021/03/02 Python
Python获取当前公网ip并自动断开宽带连接实例代码
2018/01/12 Python
python中单例常用的几种实现方法总结
2018/10/13 Python
解析Python的缩进规则的使用
2019/01/16 Python
python实现BP神经网络回归预测模型
2019/08/09 Python
Linux下通过python获取本机ip方法示例
2019/09/06 Python
Python队列、进程间通信、线程案例
2019/10/25 Python
浅谈pytorch 模型 .pt, .pth, .pkl的区别及模型保存方式
2020/05/25 Python
python如何利用Mitmproxy抓包
2020/10/10 Python
Python中常用的os操作汇总
2020/11/05 Python
安纳塔拉酒店度假村及水疗官方网站:Anantara Hotel
2016/08/25 全球购物
往来会计岗位职责
2013/12/19 职场文书
秋季运动会通讯稿
2014/01/24 职场文书
俞敏洪励志演讲稿
2014/04/29 职场文书
关于国庆节的演讲稿
2014/09/05 职场文书
我们的节日端午节活动总结
2015/02/11 职场文书
详解Python牛顿插值法
2021/05/11 Python
详细聊一聊mysql的树形结构存储以及查询
2022/04/05 MySQL