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操作Access类(PHP+ODBC+Access)
Jan 02 PHP
PHP中动态显示签名和ip原理
Mar 28 PHP
PHP CURL CURLOPT参数说明(curl_setopt)
Sep 30 PHP
PHP迭代器实现斐波纳契数列的函数
Nov 12 PHP
PHP遍历并打印指定目录下所有文件实例
Feb 10 PHP
利用谷歌 Translate API制作自己的翻译脚本
Jun 04 PHP
PHP操作FTP类 (上传、下载、移动、创建等)
Mar 31 PHP
thinkPHP5.0框架独立配置与动态配置方法
Mar 17 PHP
用php+ajax新建流程(请假、进货、出货等)
Jun 11 PHP
浅析PHP类的反射来实现依赖注入过程
Feb 06 PHP
PHP获取HTTP body内容的方法
Dec 31 PHP
PHP模版引擎原理、定义与用法实例
Mar 29 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 文件上传代码(限制jpg文件)
2010/01/05 PHP
解析php扩展php_curl.dll不加载的解决方法
2013/06/26 PHP
php配置php-fpm启动参数及配置详解
2013/11/04 PHP
php实现数组按指定KEY排序的方法
2015/03/30 PHP
php版微信开发之接收消息,自动判断及回复相应消息的方法
2016/09/23 PHP
Javascript 日期对象Date扩展方法
2009/05/30 Javascript
JavaScript高级程序设计 阅读笔记(十八) js跨平台的事件
2012/08/14 Javascript
jQuery.buildFragment使用方法及思路分析
2013/01/07 Javascript
jquery实现图片裁剪思路及实现
2013/08/16 Javascript
TypeError document.getElementById(...) is null错误原因
2015/05/18 Javascript
JavaScript类型检测之typeof 和 instanceof 的缺陷与优化
2016/01/13 Javascript
BootStrap智能表单实战系列(九)表单图片上传的支持
2016/06/13 Javascript
js实现文字向上轮播功能
2017/01/13 Javascript
es6学习笔记之Async函数的使用示例
2017/05/11 Javascript
javascript回调函数的概念理解与用法分析
2017/05/27 Javascript
nodejs中art-template模板语法的引入及冲突解决方案
2017/11/07 NodeJs
详解JavaScript中操作符和表达式
2018/09/12 Javascript
Vue render函数实战之实现tabs选项卡组件
2019/04/22 Javascript
JS实现的进制转换,浮点数相加,数字判断操作示例
2019/11/09 Javascript
vue.js实现照片放大功能
2020/06/23 Javascript
[37:37]DAC2018 4.4 淘汰赛 Optic vs Mineski 第二场
2018/04/05 DOTA
python中的函数用法入门教程
2014/09/02 Python
python网络爬虫学习笔记(1)
2018/04/09 Python
Python实现统计给定列表中指定数字出现次数的方法
2018/04/11 Python
详解如何将python3.6软件的py文件打包成exe程序
2018/10/09 Python
python日志logging模块使用方法分析
2019/05/23 Python
方太官方网上商城:销售方太抽油烟机、燃气灶、消毒柜等
2017/01/17 全球购物
英国评分最高的女性剃须刀订阅盒:FFS Beauty
2018/01/25 全球购物
毕业生找工作推荐信
2013/11/21 职场文书
kfc实习自我鉴定
2013/12/14 职场文书
创业计划书的主要内容有哪些
2014/01/29 职场文书
商家认证委托书格式
2014/10/16 职场文书
保卫工作个人总结
2015/03/03 职场文书
一个都不能少观后感
2015/06/04 职场文书
实验心得体会范文
2016/01/25 职场文书
Mybatis 一级缓存和二级缓存原理区别
2022/09/23 Java/Android