Php 如何在视图中调用控制器,但保持在同一视图中而不重新加载?

Php 如何在视图中调用控制器,但保持在同一视图中而不重新加载?,php,laravel,Php,Laravel,视图:test.blade.php <!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <!-- Bootst

视图:test.blade.php

<!doctype html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">


    <!-- Bootstrap CSS -->
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta3/dist/css/bootstrap.min.css" 
     rel="stylesheet" integrity="sha384- 
     eOJMYsd53ii+scO/bJGFsiCZc+5NDVN2yr8+0RDqr0Ql0h+rP48ckxlpbzKgwra6" crossorigin="anonymous">
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.js"></script>

    <title>Hello, world!</title>
  </head>
  <body>
    <h1>Hello, world!</h1>
    <form action="{{route('test')}}" method="post">
      @csrf
      <input type="text" id="text" name="text">
      <input type="submit" value="Submit">
    </form>
  </body>
</html>
Route::post('/test',[App\Http\Controllers\TestController::class, 'test'])->name('test');
<?php

namespace App\Http\Controllers;
use Request;

class TestController extends Controller
{
    public function test()
    {
        //do something
    }
}
控制器:TestController.php

<!doctype html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">


    <!-- Bootstrap CSS -->
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta3/dist/css/bootstrap.min.css" 
     rel="stylesheet" integrity="sha384- 
     eOJMYsd53ii+scO/bJGFsiCZc+5NDVN2yr8+0RDqr0Ql0h+rP48ckxlpbzKgwra6" crossorigin="anonymous">
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.js"></script>

    <title>Hello, world!</title>
  </head>
  <body>
    <h1>Hello, world!</h1>
    <form action="{{route('test')}}" method="post">
      @csrf
      <input type="text" id="text" name="text">
      <input type="submit" value="Submit">
    </form>
  </body>
</html>
Route::post('/test',[App\Http\Controllers\TestController::class, 'test'])->name('test');
<?php

namespace App\Http\Controllers;
use Request;

class TestController extends Controller
{
    public function test()
    {
        //do something
    }
}

使用AJAX,您可以执行以下操作:

$(“表格”)。关于(“提交”,函数(e){
var data=$(this.serialize();
$.ajax({
类型:“POST”,
URL:“{route('test')}}”,
数据:数据,
成功:函数(){
//在此处向用户显示消息
}
});
e、 预防默认值();
});

AJAX是一个不错的选择。你会怎么做?有没有提供建议的链接?