jquery ColdFusion AJAX 发布请求不起作用

6ovsh4lw  于 2023-03-01  发布在  jQuery
关注(0)|答案(3)|浏览(140)

我试图在ColdFusion中创建一个ajax请求,但我得到解析器错误。
我的要求:

var data=[];
        data.push({'id':10});
        data.push({'notes':'Test'});

        $.ajax(
        {
            type: "post",
            url: "components/activity.cfc",
            data: {
                    method:"ajaxUpdateNotes",
                    data: JSON.stringify(data)
                },
            dataType: "json",
            success: function( objResponse ){
                console.debug('OK');
            },
            error: function( objRequest, strError ){
                console.debug(strError);
            }
        });

我的CFC活动文件只有一个转储(用于测试)。

component displayName="Activity" {
    remote any function ajaxUpdateNotes(data) returnformat="JSON"{
        data = deserializeJSON(arguments.data);
        WriteDump(data); abort;

        result = 0;
        return serializeJSON(result);
    }
}

有人知道问题出在哪里吗?

mf98qq94

mf98qq941#

1.推送成对值时,密钥不需要引号:

data.push({id:10});
data.push({notes:'Test'});

1.“abort”会停止目标页面生成结果。

wooyq4lh

wooyq4lh2#

如果不想获取'parsererror',请删除WriteDump(data); abort;
若要检查参数是否正确,请在测试时从方法返回参数,然后在浏览器的控制台中进行检查。

component displayName="Activity" {
    remote any function ajaxUpdateNotes(data) returnformat="JSON"{
        data = deserializeJSON(arguments.data);
        return serializeJSON(data);
    }
}

更新表后,至少返回return serializeJSON('true');的true如果更新失败,返回'false'并在前端处理它。

xeufq47z

xeufq47z3#

请尝试$ AJAX 调用的Success 200,如下所示。
首先是JSON.Stringify,然后是JSON. parse。

success: function(data) {                                                                                                
    var objectSuccessData = JSON.stringify(data); 
    var objectSuccessParsedData = JSON.parse(objectSuccessData ); 
}

相关问题