【问题标题】:How to reload a page with content received by a request made with ajax如何使用 ajax 发出的请求接收到的内容重新加载页面
【发布时间】:2019-01-25 16:47:42
【问题描述】:

我有一个包含数据库项目列表的 ejs 文件。而且我正在尝试开发一个应该更新这个列表的搜索,只有搜索的结果。

我正在通过 jQuery 的 ajax 函数向服务器发送一个发布请求。

$(".checkbox").on('click', function(){
        let email = $(this).find('input').attr('id')

        $.ajax({
            url: '/dashboard',
            method: 'post',
            data:{email:email},
            success: function(data) {
               alert('success')
            }
        });     
    })

post 路由在数据库中执行完整搜索并返回结果。一切正常,但我页面中的列表保持不变,尽管我通过渲染函数发送了不同的 json 内容。

                $text: {
                    $search: search
                },
            })
            .then(function (results) {
                res.render('dashboard', {
                    name: {},
                    listagemFuncionarios: results,
                    check: {}
                })
            })
            .catch(e => console.error(e));

我在这里错过了什么?

【问题讨论】:

    标签: node.js ajax express


    【解决方案1】:

    问题是 ajax 请求总是以 json 的形式取回数据,您无法通过 ajax 请求返回页面,而是可以成功地以 json 形式取回数据,然后使用它动态生成 html通过Javascript动态创建DOM元素

    假设您在这样的成功函数中获取数据

    [
     {
       name:'xyz',
       email:'mail@xyz.com'
     },
     {
       name:'xyz',
       email:'mail@xyz.com'
     }
    ]
    

    现在您可以遍历这些数据并创建 html 元素,如果您需要更多帮助,请告诉我

    【讨论】:

    • 好的,我虽然在那个,但是成功的警报不起作用,我已经尝试了完整的并且也不起作用..
    • 很好,请将答案标记为已解决,以便将来对其他人有所帮助
    猜你喜欢
    • 2022-07-06
    • 1970-01-01
    • 1970-01-01
    • 2016-12-20
    • 1970-01-01
    • 2012-09-03
    • 1970-01-01
    • 2021-06-01
    • 1970-01-01
    相关资源
    最近更新 更多