为了账号安全,请及时绑定邮箱和手机立即绑定

请问PHP 不用return 如何给ajax返回json数据?

请问PHP 不用return 如何给ajax返回json数据?

PHP
梦里花落0921 2019-03-17 10:14:11
用TP5做上传图片,因为是多图片 ,所有放在了foreach里面遍历插进数据库成功后返回数据给ajax ,但是因为是在循环中,用return 返回 程序就终止了,导致成功信息是返回了,但是数据只能插入一条,请问有什么好办法能代替这个return 吗? 代码如下: public function upload(Request $request) { if($files = $request->file('image')){ $path = 'static/images/picture/'; $model = new Db; foreach ($files as $file) { $info = $file ->rule('uniqid')-> validate(['size'=>10240000,'ext'=>'bmp,gif,jgeg,png,jpg'])-> move($path); if($info){ $data = ['picture_name'=>$info->getSaveName(),'picture_link'=>"'".$path."'",'uptime'=>time()]; $model::table('picture')->insert($data); return $this::ajaxReturn(array('msg'=>'上传成功')); }else{ $data = $filev->getError(); return ajaxReturn(array('msg'=>$data)); exit; } } } }
查看完整描述

3 回答

?
郎朗坤

TA贡献1921条经验 获得超9个赞

你在foreach循环中,用了return 直接就中断了,当然只有一条,
把$info变量改成数组型式,每次的的上传结果保存在里面
在foreach 外,返回这个数组

查看完整回答
反对 回复 2019-03-18
?
HUX布斯

TA贡献1876条经验 获得超6个赞

return当前函数就终止了,你可以把上传信息存到变量中。foreach之后再调用呗。return当前函数就终止了,你可以把上传信息存到变量中。foreach之后再调用呗。

查看完整回答
反对 回复 2019-03-18
?
侃侃无极

TA贡献2051条经验 获得超10个赞

单次请求只会有一次响应,如果要有多次响应的效果 应该在JS做循环提交 或是做成长连接

查看完整回答
反对 回复 2019-03-18
  • 3 回答
  • 0 关注
  • 432 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信