gpt4 book ai didi

javascript - 如何在不刷新laravel页面的情况下发送数据?

转载 作者:太空宇宙 更新时间:2023-11-04 14:53:09 25 4
gpt4 key购买 nike

我需要在不刷新页面的情况下将数据发送到数据库。

家刃:

<form class="chat" id="message" action="#" method="post">
<input type="hidden" name="_token" id="_token" value="{{ csrf_token() }}">
<li>
<div class="panel-footer">
<div class="input-group">
<input type="text" name="message" class="" placeholder="Type your message here..." />
<span class="input-group-btn">
<button type="submit" class=" btn-success btn-sm searchButton" id="save" >
Send
</button>
</span>
</div>
</div>
</li>
</form>

Controller :

public function message(Request $data)
{
$ins = $data->all();
unset($ins['_token']);
$store = DB::table("chatbox")->insert([$ins]);
return Redirect('Users/home')->with('message',"success");
}

Ajax :

<script>
$(document).on("click", ".save", function() {
$.ajax({
type: "post",
url: '/Users/message',
data: $(".message").serialize(),
success: function(store) {

},
error: function() {
}
});
});
</script>

目前,当我发送数据时,它会自动刷新整个页面,但只有特定的表单需要刷新。

最佳答案

需要阻止默认的表单提交,改用脚本

$(document).on("click", "#save", function(e) {

e.preventDefault(); // Prevent Default form Submission

$.ajax({
type:"post",
url: '/Users/message',
data: $("#message").serialize(),
success:function(store) {
location.href = store;
},
error:function() {
}
});

});

并且不返回重定向,而是从 Controller 返回 url 并让脚本处理重定向

public function message(Request $data)
{
$ins = $data->all();
unset($ins['_token']);
$store = DB::table("chatbox")->insert([$ins]);
session()->flash('message', 'success');
return url('Users/home');
}

关于javascript - 如何在不刷新laravel页面的情况下发送数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47831909/

25 4 0
文章推荐: html - "float: left"使
  • 元素忽略它包裹在其中的
  • Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com