首页 > 解决方案 > 错误:使用 guzzle 时,htmlspecialchars() 期望参数 1 为字符串

问题描述


我正在使用 Guzzle 发出获取请求,并且我有一个 Json 响应。我试图将该 Json 响应传递给我的视图,但得到一个类似标题的错误。
这是我的控制器:

class RestApi extends Controller
{
    public  function request() {
        $endpoint = "http://127.0.0.1:8080/activiti-rest/service/form/form-data?taskId=21159";
        $client = new \GuzzleHttp\Client();
        $taskId = 21159;

        $response = $client->request('GET', $endpoint, ['auth' => ['kermit','kermit']]);

        $statusCode = $response->getStatusCode();
        $content = json_decode($response->getBody(), true);

        $formData = $content['formProperties'];

        return view('formData')->with('formData', $formData);
    }

}

当我使用 dd(formData) 时,数据不为空:

在此处输入图像描述

在我看来,我只想检查我的 formData 是否通过:

@if(isset($formData))
    @foreach($formData as $formDataValue)
    {{ $formDataValue }}
    @endforeach
    @endif

这是我的路线:

Route::get('/response','RestApi@request')->middleware('cors');

我怎样才能解决这个问题?非常感谢你!

标签: laravelguzzle

解决方案


您正在尝试{{ $formDataValue }}直接显示数组

{{ }}这将仅支持字符串

它应该是这样的,例如:

@if(isset($formData))
    <ul>
    @foreach($formData as $formDataValue)
        <li>ID : {{ $formDataValue['id'] }}</li>
        <li>Name : {{ $formDataValue['name'] }}</li>
        <li>Type : {{ $formDataValue['type'] }}</li>
        .
        .
        .
    @endforeach
    </ul>
@endif

推荐阅读