PHP返回响应json null

时间:2019-05-17 01:01:35

标签: php laravel

当我尝试将响应作为JSON返回时,我有返回null的问题。但是,当我只写$price = $this->getPrice($clawer);而没有退货时,我就会得到想要的价格。

public function index(){

        $url = 'https://url';
        $product_url = 'product_id';

        $crawler = Goutte::request('GET', $url . '' . $product_url );

        $price = $this->getPrice($crawler);

         return response()->json([
            'result' => $price,
            'data' => 'test'
        ], 200);


    }

    public function getPrice($crawler){
        $price = '';

            if (!$price) {
            return $crawler->filter('#j-sku-price')->each(
            function ($node) {
            $price = $node->text();
            print($price);
            });
        }
        return $price;
    }

我在做什么错了?

1 个答案:

答案 0 :(得分:0)

我认为您错过了退货:

 public function getPrice($crawler){
        $price = '';

            if (!$price) {
            return $crawler->filter('#j-sku-price')->each(
            function ($node) {
            $price = $node->text();
            print($price); //Remove this
            return $price; //add this
            });
        }
        return $price;
    }

如果状态码为200,则无需使用response()

  return [
            'result' => $price,
            'data' => 'test'
        ];