首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Laravel中使用Ajax和Bootstrap Modal发布

在Laravel中使用Ajax和Bootstrap Modal发布
EN

Stack Overflow用户
提问于 2020-05-05 01:26:12
回答 1查看 357关注 0票数 0

我在我的应用程序中使用code.jquery.com/jquery-3.5.0.js,并尝试在不重新加载的情况下发布数据。它可以在没有ajax的情况下发布,但不能使用ajax脚本。

控制器:

代码语言:javascript
运行
复制
public function index()
{
    $tasks = Task::orderBy('id', 'desc')->paginate(9);
    return view('empmodel', compact('tasks'));
}

public function store(Request $request)
{
    $tasks = new Task;
    $tasks->t_title = $request->input('t_title');
    $tasks->project_id = $request->input('project_id');
    $tasks->save();
}

Ajax:

代码语言:javascript
运行
复制
<script type="text/javascript">
$(document).ready(function () {
    $('#addform').on('submit', function(e) {
        e.preventDefault();

        $.ajax({
            type: "POST",
            url: "/addstudent",
            data: $('#addform').serialize(),
            success: function (response) {
                console.log(response)
                $('#studentaddmodal').modal('hide')
                alert("data saved");
            },
            error: function(error) {
                console.log(error)
                alert("Data not saved");
            }
        });
    });
});
</script>
</body>

路由:

代码语言:javascript
运行
复制
Route::get('/tasks', 'projects\ProjectpController@index');
Route::post('/addstudent', 'projects\ProjectpController@store');

当我用project_id在字段中填充整数时,警报显示“数据已保存”,但它没有出现在数据库中。如果我在project_id字段中输入文本,则警报应该是"data not saved“。不缺少CSRF令牌。我正在使用常规的bootstrap Modal。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-05-05 02:47:03

在控制器中使用parse_str解析从AJAX发送的字符串

将ajax的数据定义更改为

代码语言:javascript
运行
复制
data: {
    formData: $('#addform').serialize()
}

在你的Controller方法中

代码语言:javascript
运行
复制
public function store(Request $request)
{
    parse_str($request->formData, $output);
    $tasks = new Task;
    $tasks->t_title = $output['t_title'];
    $tasks->project_id = $output['project_id'];
    $tasks->save();
}

类似的问题:How do I PHP-unserialize a jQuery-serialized form?

阅读:https://stackoverflow.com/a/3817220/5808894

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61598067

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档