当我尝试将响应作为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;
}
我在做什么错了?
答案 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'
];