我在更新数据库中的数据后尝试更新<div>
,但是<div>
令人耳目一新后,它不会显示数据。这是我的代码:
<div class="tab-pane active" id="receivedHere" style="width: 100%;">
@foreach($compose as $compose)
@if($compose->active == 1)
......
<input type="hidden" id="id" value="{{ $compose->id }}">
<img src="/public/images/EyePublic.svg"
onclick="changeComposer('0','{{ $compose->id }}')"></span>
......
@else($compose->active == 0)
....
<input type="hidden" id="id" value="{{ $compose->id }}">
<img src="/public/images/EyePrivate.svg"
onclick="changeComposer('1','{{
$compose->id }}')"></span>
.....
@endif
@endforeach
</div>
我的ajax代码
function changeComposer(argument, id) {
var link = "{{ URL::to('/') }}/public/images/settingLoader.gif";
document.getElementById('receivedHere').innerHTML = '<center><img
src="'+link+'"></center>'; //for replacing the div to img after click and image will remove after ajax success.
$.ajax({
type: "POST",
url: "{{URL::to('/')}}/updateComposer",
data: {id : id, update : argument},
success: function(){
$("#receivedHere").load(" #receivedHere");
}
});
}
更新的部分正在工作,但是成功后,重新加载div
并采用更新的数据未显示...任何建议?
我更新的控制器是
public function updateComposer(Request $request) {
$user_id = UserGratitude::where('user_id', Auth::user()->id)->first();
if($user_id){
UserGratitude::where('id', $request->id)
->update([
'is_active' => $request->update
]);
return response('success', 200);
}
}
如果要过滤到页面的一部分,则需要在.load()
的呼叫中使用一个实际URL。
您可以使用位置获取当前页面的URL。
$("#receivedHere").load(location.href + " #receivedHere");
您可以使用 html
方法
$("#receivedHere").html('<center><img src="'+link+'"></center>')
这是JS Flow
//show loading is in progress
$("#receivedHere").html('<center><img src="'+link+'"></center>')
//make ajax request
$.ajax({
type: "POST",
url: "{{URL::to('/')}}/updateComposer",
data: {id : id, update : argument},
success: function(data){
//parse your data if needed
//show data by updating DOM
$("#receivedHere").html("<p>Received data</p>");
}
});
}