【发布时间】:2021-11-02 08:47:07
【问题描述】:
我在 JSON 响应中返回数据时遇到问题。数据已成功提交到表中,但它在刀片文件上打印未定义的值,当我重新加载时,这个未定义的消失了 我在 JSON 响应中返回数据时遇到问题。数据已成功提交到表中,但它在刀片文件上打印未定义的值,当我重新加载时,这个未定义的消失了
web.php
Route::get('/ajax', [AjaxCrudController::class, 'index']);
Route::post('/add', [AjaxCrudController::class, 'add'])
->name('add');
控制器
namespace App\Http\Controllers\ajax;
use App\Http\Controllers\Controller;
use App\Models\crud_ajax;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
class AjaxCrudController extends Controller
{
public function index()
{
$users = DB::table('crud_ajax')->get();
return view('crud_ajax.index', ['list' => $users]);
}
public function add(Request $request)
{
$query = DB::table('crud_ajax')
->insert([
'fname' => $request->fname,
'lname' => $request->lname,
'email' => $request->email
]);
return response()->json($query);
}
}
刀片文件
<form action="" method="" id="add">
<div id="success" style="color: green;font-weight: bolder;"></div>
<div id="error"></div>
<div class="form-group">
<label for="fname">FirstName:</label>
<input type="text" id="fname" placeholder="Enter Your First Name" value="{{ old('fname') }}" class="form-control">
</div>
<div class="form-group">
<label for="lname">LastName:</label>
<input type="text" id="lname" placeholder="Enter Your Last Name" value="{{ old('lname') }}" class="form-control">
</div>
<div class="form-group">
<label for="email">Email:</label>
<input type="email" id="email" placeholder="Enter Your Email" value="{{ old('email') }}" class="form-control">
</div>
<div class="form-group">
<button type="submit" class="btn btn-primary btn-block">Save</button>
</div>
</form>
</div>
<div class="col-md-8 shadow-lg">
<table class="table table-hover table-responsive">
<thead>
<th>ID</th>
<th>Fname</th>
<th>Lname</th>
<th>Email</th>
<th>Edit | Delete</th>
</thead>
<tbody id="tbody">
@foreach($list as $value)
<tr>
<td>{{ $value->id }}</td>
<td>{{ $value->fname }}</td>
<td>{{ $value->lname }}</td>
<td>{{ $value->email }}</td>
<td>
<a href="" class="btn btn-primary">Edit</a>
<a href="" class="btn btn-danger">Del</a>
</td>
</tr>
@endforeach
</tbody>
</table>
</div>
</div>
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script>
$("#add").submit(function(e) {
e.preventDefault();
let fname = $("#fname").val();
let lname = $("#lname").val();
let email = $("#email").val();
$.ajax({
url: "{{ route('add') }}",
type: "POST",
data: {
fname:fname,
lname:lname,
email:email,
_token: '{{ csrf_token() }}'
},
success:function(response) {
if(response) {
$("#tbody").append("<tr><td>" + response.fname + "</tr></td>");
$("#add").trigger("reset");
$("#success").html("Data is inserted successfully").slideDown();
$("#error").slideUp();
}
}
});
});
</script>
【问题讨论】: