使用 jquery ajax 从验证中取回对象 Object

Posted

技术标签:

【中文标题】使用 jquery ajax 从验证中取回对象 Object【英文标题】:Getting back object Object from validation using jquery ajax 【发布时间】:2021-08-20 00:03:21 【问题描述】:

在我的 jquery 函数中,我设置了一些验证,以便如果用户没有在这些字段中输入任何数据,它会发回一条消息,说“请输入 + 他们错过的任何字段”。但是,当我在我的应用程序中对此进行测试时,我得到的消息说对象对象而不是我推入空错误数组的文本。非常感谢任何有关如何解决此问题的建议!谢谢!

 $('#formData').on('click', 'button.addRow', function (e) 
        const cloneRow = $('#tableData tbody tr').first();
        e.preventDefault();
        let errors = [];
        let data = 
            project_id: $(".project_id").last().val(),
            imp_or_ann: $(".imp_or_ann").last().val(),
            category: $(".category").last().val(),
            cost: $(".cost").last().val(),
            hours: $(".hours").last().val()
        
        if (!data.project_id) 
            errors.push(text: "please enter a project id")
         
        if (!data.imp_or_ann) 
            errors.push(text: "please select an option")
        
        if (!data.category) 
            errors.push(text: "please select an option")
        
        if (!data.cost) 
            errors.push(text: "please enter a value for cost")
        
        if (!data.hours) 
            errors.push(text: "please enter a value for hours")

        if (errors.length > 0)
            for (var item in errors) 
                $("#errors").append("<p style=\"border: 1px solid black;\">" + errors[item] + '</p>')
            
        
         else 
            $.ajax(
                url: '/costs_hours',
                type: 'POST',
                data: data
            ).then(
                cloneRow.clone().appendTo('#tableData tbody').find(".cost, .hours").val(''),
                $("#next").removeAttr('disabled'),
                $("#link").attr('href', '/fundings'),
                console.log(data)
            )
        
    )

【问题讨论】:

【参考方案1】:
$("#errors").append("<p style=\"border: 1px solid black;\">" + errors[item] + '</p>')

你正在连接对象试试这个

errors[item].text

【讨论】:

以上是关于使用 jquery ajax 从验证中取回对象 Object的主要内容,如果未能解决你的问题,请参考以下文章

Laravel 中的 Ajax 请求返回一个空对象

从 curl 到 jQuery 的 $.ajax() 函数

《锋利的jQuery》第六章

4.27 jQuery AJAX get() 和 post() 方法

jQuery – AJAX get() 和 post() 方法

使用 jQuery $.ajax 进行 ASP.NET MVC 验证