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 相关文章推荐
通过ODBC连接的SQL SERVER实例
Oct 09 PHP
smarty+adodb+部分自定义类的php开发模式
Dec 31 PHP
PHP parse_url 一个好用的函数
Oct 03 PHP
php下将图片以二进制存入mysql数据库中并显示的实现代码
May 27 PHP
php中神奇的fastcgi_finish_request
May 02 PHP
php获取后台Job管理的实现代码
Jun 10 PHP
PHP面向对象的进阶学习(抽像类、接口、final、类常量)
May 07 PHP
PHP之sprintf函数用法详解
Nov 12 PHP
Laravel实现用户注册和登录
Jan 23 PHP
php内嵌函数用法实例
Mar 20 PHP
PHP实现简单搜歌的方法
Jul 28 PHP
PHP session垃圾回收机制实例分析
Jun 28 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
通过文字传递创建的图形按钮
2006/10/09 PHP
PHP游戏编程25个脚本代码
2011/02/08 PHP
Thinkphp搜索时首页分页和搜索页保持条件分页的方法
2014/12/05 PHP
CI框架出现mysql数据库连接资源无法释放的解决方法
2016/05/17 PHP
PHP 模拟登陆功能实例详解
2019/09/10 PHP
实现laravel 插入操作日志到数据库的方法
2019/10/11 PHP
Yii框架布局文件的动态切换操作示例
2019/11/11 PHP
PHP文件操作简单介绍及函数汇总
2020/12/11 PHP
JS正则表达式获取分组内容的方法详解
2013/11/15 Javascript
基于JQuery实现的Select级联
2014/01/27 Javascript
javascript如何判断输入的url是否正确
2014/04/11 Javascript
jQuery文件上传插件Uploadify使用指南
2014/06/05 Javascript
jquery实现在页面加载完毕后获取图片高度或宽度
2014/06/16 Javascript
微信内置浏览器私有接口WeixinJSBridge介绍
2015/05/25 Javascript
JavaScritp添加url参数并将参数加入到url中及更改url参数的方法
2015/10/26 Javascript
JS实现的页面自定义滚动条效果
2015/10/26 Javascript
JavaScript实现点击按钮直接打印
2016/01/06 Javascript
对比分析Django的Q查询及AngularJS的Datatables分页插件
2017/02/07 Javascript
用Webpack构建Vue项目的实践
2017/11/07 Javascript
JS实现调用本地摄像头功能示例
2018/05/18 Javascript
JS图片懒加载的优点及实现原理
2020/01/10 Javascript
详解C++编程中一元运算符的重载
2016/01/19 Python
django做form表单的数据验证过程详解
2019/07/26 Python
Windows10下 python3.7 安装 facenet的教程
2019/09/10 Python
wxPython实现整点报时
2019/11/18 Python
python GUI库图形界面开发之PyQt5滚动条控件QScrollBar详细使用方法与实例
2020/03/06 Python
django实现日志按日期分割
2020/05/21 Python
海蓝之谜(LA MER)澳大利亚官方商城:全球高端奢华护肤品牌
2017/10/27 全球购物
POS解决方案:MUNBYN(热敏打印机、条形码扫描仪)
2020/06/09 全球购物
叙述DBMS对数据控制功能有哪些
2016/06/12 面试题
如果重写了对象的equals()方法,需要考虑什么
2014/11/02 面试题
护士自荐信怎么写
2013/10/18 职场文书
2014年教师党员公开承诺书
2014/05/28 职场文书
财务稽核岗位职责
2015/04/13 职场文书
会议通知格式范文
2015/04/15 职场文书
邓小平文选读书笔记
2015/06/29 职场文书