我正在尝试在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 actitivy文件只有转储(用于测试)。
component displayName="Activity" {
remote any function ajaxUpdateNotes(data) returnformat="JSON"{
data = deserializeJSON(arguments.data);
WriteDump(data); abort;
result = 0;
return serializeJSON(result);
}
}
有谁知道这个问题?
答案 0 :(得分:0)
1.推送配对值时,该键不需要引用:
data.push({id:10});
data.push({notes:'Test'});
答案 1 :(得分:0)
如果您不想获取'parsererror'
,请移除WriteDump(data); abort;
要检查参数是否正确,在测试时,从方法中返回参数,在浏览器的控制台中进行检查。
component displayName="Activity" {
remote any function ajaxUpdateNotes(data) returnformat="JSON"{
data = deserializeJSON(arguments.data);
return serializeJSON(data);
}
}
更新表后,至少返回true return serializeJSON('true');
如果更新失败,请返回' false'并在前端处理它。
答案 2 :(得分:-1)
请尝试如下所示的 $Ajax 调用的 Success 200。
首先是 JSON.Stringify,然后是 JSON.parse。
success: function(data) { var objectSuccessData = JSON.stringify(data); var objectSuccessParsedData = JSON.parse(objectSuccessData ); }