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

用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;
                    
                }

            }
        }
    }
梦里花落0921
浏览 433回答 3
3回答

郎朗坤

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

HUX布斯

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

侃侃无极

单次请求只会有一次响应,如果要有多次响应的效果 应该在JS做循环提交 或是做成长连接
打开App,查看更多内容
随时随地看视频慕课网APP