javascript - jQuery 试图处理 ajax 失败和成功不起作用

标签 javascript jquery ajax grails

我有一个有效的 jQuery ajax 调用,但我想检查请求的结果,所以我添加了

success: function(data) {
    if(data.status == 'success'){
        alert("Thank you for subscribing!");
    }else if(data.status == 'error'){
        alert("Error on query!");
    }
}

但这不起作用,甚至让我的整个功能停止工作。所以这是整个功能,有人能告诉我哪里做错了吗`

   function addGoal()  {

    var description = $('.description').val();
    var measure = $('.measure').val();

    if(  description.trim()  &&  measure.trim()  ){
        if(window.confirm("Are you sure? You can't edit or remove goal(s) you have added here.")==true) {

            $.ajax({
                url: '${g.createLink( controller:'review', action:'saveGoal', params:[id: params.id]  )}',
                data: {
                    "description": description,
                    "measure": measure
                },

               success: function(data) {
                    if(data.status == 'success'){
                        alert("Thank you for subscribing!");
                    }else if(data.status == 'error'){
                        alert("Error on query!");
                    }
                }
                type: 'POST'                 
            });
        }
    }else {
        showErrorMessage("Description and Measure fields cant be empty");
    }
}`             

当我删除成功时,它会按我预期的那样工作。如果重要的话我正在使用 grails

最佳答案

语法错误,缺少逗号

   function addGoal()  {

    var description = $('.description').val();
    var measure = $('.measure').val();

    if(  description.trim()  &&  measure.trim()  ){
        if(window.confirm("Are you sure? You can't edit or remove goal(s) you have added here.")==true) {

            $.ajax({
                url: '${g.createLink( controller:'review', dataType: "json", action:'saveGoal', params:[id: params.id]  )}',
                data: {
                    "description": description,
                    "measure": measure
                },

               success: function(data) {
                    if(data.status == 'success'){
                        alert("Thank you for subscribing!");
                    }else if(data.status == 'error'){
                        alert("Error on query!");
                    }
                },
                type: 'POST'                 
            });
        }
    }else {
        showErrorMessage("Description and Measure fields cant be empty");
    }
}`            

这将解决问题

关于javascript - jQuery 试图处理 ajax 失败和成功不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34946266/

相关文章:

javascript - jQuery - 如何为图像添加标记

javascript - 如何在ajax中使用动态添加的html类

php - APE - Ajax 推送引擎

javascript - 使用 jQuery 将新的 css 应用于元素,如何添加过渡?

javascript - 当点击标题时,让信息显示在另一个div上的信息?

javascript - 存储在变量中后过滤列表项

javascript - jQuery Masked 插件的问题

javascript - 打开新浏览器窗口时暂停 Youtube 视频

javascript - 如何在选中复选框时启用选项卡

javascript - 在 Rails 中用于 Javascript 测试的 Selenium 或 Watir