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

2025-05-27 0 36

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

知识点总结

1.json格式标准

?

1

2

3

4

5

6

7
{

'key':"value"

}

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

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

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

前端jquery ajax提交formdata

?

1

2

3
$.ajax({

})

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

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

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

HTML

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46
<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

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32
<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

?

1

2

3

4

5

6

7

8

9

10
$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程序设计有所帮助。

原文链接:https://www.cnblogs.com/xxx91hx/p/9294954.html

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 thinkphp5 + ajax 使用formdata提交数据(包括文件上传) 后台返回json完整实例 https://www.kuaiidc.com/70678.html

相关文章

发表评论
暂无评论