鍍金池/ 問答/PHP/ 請問PHP 不用return 如何給ajax返回json數(shù)據(jù)?

請問PHP 不用return 如何給ajax返回json數(shù)據(jù)?

用TP5做上傳圖片,因?yàn)槭嵌鄨D片 ,所有放在了foreach里面遍歷插進(jìn)數(shù)據(jù)庫
成功后返回?cái)?shù)據(jù)給ajax ,但是因?yàn)槭窃谘h(huán)中,用return 返回 程序就終止了,導(dǎo)致成功信息是返回了,但是數(shù)據(jù)只能插入一條,請問有什么好辦法能代替這個(gè)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;
                    
                }

            }
        }
    }
回答
編輯回答
傻丟丟

return當(dāng)前函數(shù)就終止了,你可以把上傳信息存到變量中。foreach之后再調(diào)用唄。return當(dāng)前函數(shù)就終止了,你可以把上傳信息存到變量中。foreach之后再調(diào)用唄。

2018年4月21日 11:14
編輯回答
北城荒

你在foreach循環(huán)中,用了return 直接就中斷了,當(dāng)然只有一條,
把$info變量改成數(shù)組型式,每次的的上傳結(jié)果保存在里面
在foreach 外,返回這個(gè)數(shù)組

2018年6月20日 16:55
編輯回答
掛念你

單次請求只會有一次響應(yīng),如果要有多次響應(yīng)的效果 應(yīng)該在JS做循環(huán)提交 或是做成長連接

2018年8月2日 00:46