主页 > 知识库 > thinkphp5 + ajax 使用formdata提交数据(包括文件上传) 后台返回json完整实例

thinkphp5 + ajax 使用formdata提交数据(包括文件上传) 后台返回json完整实例

热门标签:银行业务 电子围栏 科大讯飞语音识别系统 团购网站 Mysql连接数设置 服务器配置 Linux服务器 阿里云

本文实例讲述了thinkphp5 + ajax 使用formdata提交数据(包括文件上传) 后台返回json。分享给大家供大家参考,具体如下:

知识点总结

1.json格式标准

{

'key':"value"

}

{"state":"1","msg":"\u7b80\u5386\u6295\u9012\u6210\u529f\uff01"}

前端jquery ajax提交formdata 

$.ajax({

})

 formdata 获取表单数据 包括文件上传

 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相关内容感兴趣的读者可查看本站专题:《ThinkPHP入门教程》、《thinkPHP模板操作技巧总结》、《ThinkPHP常用方法总结》、《codeigniter入门教程》、《CI(CodeIgniter)框架进阶教程》、《Zend FrameWork框架入门教程》及《PHP模板技术总结》。

希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。

您可能感兴趣的文章:
  • TP5(thinkPHP5)框架使用ajax实现与后台数据交互的方法小结
  • ThinkPHP5.1+Ajax实现的无刷新分页功能示例
  • ThinkPHP5 通过ajax插入图片并实时显示(完整代码)
  • Thinkphp5框架ajax接口实现方法分析
  • thinkPHP+mysql+ajax实现的仿百度一下即时搜索效果详解
  • ThinkPHP框架结合Ajax实现用户名校验功能示例
  • thinkPHP利用ajax异步上传图片并显示、删除的示例
  • TP5(thinkPHP5)框架基于ajax与后台数据交互操作简单示例
  • ThinkPHP 5 AJAX跨域请求头设置实现过程解析

标签:广元 蚌埠 萍乡 枣庄 衡水 大理 衢州 江苏

巨人网络通讯声明:本文标题《thinkphp5 + ajax 使用formdata提交数据(包括文件上传) 后台返回json完整实例》,本文关键词  ;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 收缩
    • 微信客服
    • 微信二维码
    • 电话咨询

    • 400-1100-266