Javascript 如何向blade Laravel json response()显示验证消息

Javascript 如何向blade Laravel json response()显示验证消息,javascript,php,json,ajax,laravel,Javascript,Php,Json,Ajax,Laravel,我把她搞糊涂了,我的计划是我想从控制器中的response()->json()获取错误验证消息,并将其显示在我的blade.php中,但我无法将它们调用到我的blade中,但当我在控制台中检查结果链接时,我的消息验证正在显示它,谁知道我的问题,我把我的代码放在下面: 我的控制器: public function testApi(Request $api) { $validator = Validator:make($api->all(), [ 'name_product'

我把她搞糊涂了,我的计划是我想从控制器中的
response()->json()
获取错误验证消息,并将其显示在我的
blade.php
中,但我无法将它们调用到我的blade中,但当我在控制台中检查结果链接时,我的消息验证正在显示它,谁知道我的问题,我把我的代码放在下面:

我的控制器:

public function testApi(Request $api)
{
   $validator = Validator:make($api->all(), [
      'name_product' => 'required'
   ]);

   if () {
      return response()->json([
         'error' => $validator->messages()
      ], 401);
   } else {
     // my condition if validator is not fail
   }
}
我的刀片:

@if ($errors->any())
   <h4>{{ $error->first() }}</h4>
@endif
@csrf
<div>
    <label>Name Product</label>
    <input type="text" class="form-control" name="name_product" placeholder="Name">
</div>
<div class="form-group">
    <input type="submit" id="productButton" class="btn btn-primary btn-block" value="Add">
</div>

谢谢你

你正在打
ajax
电话,当你提交
post
请求时,页面不会刷新,所以

@if($errors->any())
{{$error->first()}
@恩迪夫
将不会再次重新渲染。因此,如果您发送
ajax
请求,那么所有
blade错误将不适用于您

您可以这样做:


。然后((数据)=>{
const h4=document.getElementById(“错误”);
h4.innerHTML=data.error;
})

未正确使用fetch()then()
data
实际上是响应对象和数据。json()是对实际服务器数据的承诺。我应该做什么?尝试
fetch(url,{/*options*/})。然后(res=>res.json())。然后(data=>console.log(data))
这是工作,之后我只需将我的错误调用到我的刀片服务器中?进入浏览器开发工具(F12)在网络上,深入挖掘实际请求,阅读html输出在响应体中告诉您的内容
document.querySelector('#productButton').addEventListener('click', addProduct);

let urlProduct = '/product/add';
let token = document.querySelector('meta[name="csrf-token"]').getAttribute('content');

function addProduct() {
   let nameProduct = document.querySelector('input[name="name_product"]').value;

   fetch(urlProduct, {
       headers: {
           "Content-Type": "application/json",
           "Accept": "application/json, text-plain, */*",
           "X-Requested-With": "XMLHttpRequest",
           "X-CSRF-TOKEN": token
      },
      method: 'post',
      credentials: "same-origin",
      body: JSON.stringfy({
          name_product = nameProduct
      })
   }).then((data) => {
      console.log(data);
   }).catch(function (error) {
      console.log(error);
   })
}