我有以下 ColdFusion 功能:
component {
url._cf_nodebug=true;
url.returnformat = "json";
url.queryformat = "column";
remote function Read(StateID) {
local.result = {};
local.result.MSG = "";
// local.result.QRY = QueryNew();
local.svc = new query();
local.svc.addParam(value=arguments.StateID,cfsqltype="cf_sql_integer");
local.svc.setSQL("SELECT *
FROM State WHERE StateID = ?");
local.svc.setName = "qry";
local.obj = local.svc.execute();
local.result.QRY = local.obj.getResult();
return local.result;
}
}
当我从 test.cfm 测试它时,它可以正常工作:
<cfset qry = CreateObject("component","ajaxEnabled").Read(154)>
所以我认为问题在于我如何将参数传递给 $.ajax 方法。当我调用它时,我得到: parsererror: SyntaxError: Unexpected token <
;(function($, window, undefined) {
var document = window.document;
$('#States').on('click','a',function() {
var local = {};
local.data = {};
local.data.StateID = $(this).data('stateid');
local.dataType = 'json';
local.context = $(this)[0];
local.Promise = $.ajax('ajaxEnabled.cfc',local);
local.Promise.fail(function(A,B,C) {
console.log(B + ': ' + C);
});
});
})(jQuery, window);
我可以在控制台中看到 local.data.StateID = 153,这就是我想要的。
这是该页面的链接。这是 test.cfm 的链接。