1

ajax (addContent) から php 関数を呼び出します。

protected $output = array('success'=>0, 'message'=>'There was an error, please try again.');

public function addContent()
{
    $imgName = $this->doSomething();
    $this->doSomethingElse();

    //save imageName to DB
    $this->output['success'] = 1;
    return $output;
}

private function doSomething()
{
    if($imageOk){
       return $imageName;
    }
    else
    {
       $this->output['message'] = 'bad response';
       //how to return output?
    }

}

説明のためにメソッドを単純化しました。

メソッド 'doSomething()' が悪い応答の出力を持っている場合、どうすればこれを addContent メソッドから ajax に送り返すことができますか? 出力が悪い場合は、スクリプトを終了し、doSomethingElse() の実行を続行したくありません。

4

3 に答える 3

1

それが解決するのを見てください(例外をスローして):

protected $output = array('success'=>0, 'message'=>'There was an error, please try again.');

public function addContent()
{
    try{
        $imgName = $this->doSomething();
        $this->doSomethingElse();

        //save imageName to DB
        $this->output['success'] = 1;
        return $this->output;
    }
    catch(Exception $e){
        $this->output['success'] = 0;
        $this->output['message'] = $e->getMessage();
        return $this->output;
    }
}

private function doSomething()
{
    if($imageOk){
       return $imageName;
    }
    else
    {
       throw new Exception('bad response');
    }

}
于 2013-10-18T13:06:17.127 に答える