使用Coldfusion、Ajax和CFC进行数据查找
我使用字符串而不是整数作为键,使用ColdFusion和Ajax在表上进行数据查找。我的测试没有返回任何值,我完全被踩死了。我尝试将ajax值转换为字符串 HTML 冷熔合元件使用Coldfusion、Ajax和CFC进行数据查找,ajax,coldfusion,cfc,Ajax,Coldfusion,Cfc,我使用字符串而不是整数作为键,使用ColdFusion和Ajax在表上进行数据查找。我的测试没有返回任何值,我完全被踩死了。我尝试将ajax值转换为字符串 HTML 冷熔合元件 <cfcomponent> <cffunction name="getuser" access="remote" returntype="string"> <cfargument name="init" type="string" required="yes">
<cfcomponent>
<cffunction name="getuser" access="remote" returntype="string">
<cfargument name="init" type="string" required="yes">
<cfquery name="getUser" datasource="#DSN#">
SELECT team
FROM users
WHERE init = <cfqueryparam value = "#arguments.init#" cfsqltype="cf_sql_varchar">
</cfquery>
<cfreturn getUser.TEAM />
</cffunction>
</cfcomponent>
问题是在Ajax调用中传递字符串initval 换句话说,jQuery不会神奇地转变
"testrun.cfc?method=getuser&init=initVal"
进入
改为传递变量的值,并将URL参数构建完全留给jQuery:
$("#init").blur(function() {
var initval = $.trim(this.value);
if (!initval) return;
$.get("testrun.cfc" {
method: "getuser",
init: initval
}).done(function (res) {
$("#team").val(res);
});
});
打开浏览器开发人员工具中的“网络”选项卡,查看正在发生的Ajax请求,这会有所帮助。问题在于,您在Ajax调用中传递了字符串initval 换句话说,jQuery不会神奇地转变
"testrun.cfc?method=getuser&init=initVal"
进入
改为传递变量的值,并将URL参数构建完全留给jQuery:
$("#init").blur(function() {
var initval = $.trim(this.value);
if (!initval) return;
$.get("testrun.cfc" {
method: "getuser",
init: initval
}).done(function (res) {
$("#team").val(res);
});
});
它有助于在浏览器的开发人员工具中打开“网络”选项卡,并在Ajax请求发生时查看它们。如果在ColdFusion之外运行查询,查询是否返回任何记录?@Dan yes它返回一个值,但是该值不显示在团队表单字段中。如果在ColdFusion之外运行,查询是否返回任何记录?@Dan yes它返回一个值,但该值不显示在团队表单字段中。感谢您的快速回复,我已经实现了您的方法。但我仍然没有从数据库中得到数据。很难说。我不知道你的数据库,也看不到你在做什么。在浏览器中手动打开URL testrun.cfc?method=getuser&init=SomeTeamId。它显示了什么?在CFC上工作,直到它显示SomeTeamId的预期结果。在那之后,jQuery方面的工作也可能开始了。我按照建议打开了URL,并从数据库中获取了要显示的值。问题是表单字段中没有显示值。明白了!我在cffunction标记中将returnformat设置为plain@托马拉克谢谢你的帮助。你可以看出我完全迷路了。我感谢你的帮助-我相信你学到了很多,这就是重点谢谢你的快速回复,我已经实现了你的方法。但我仍然没有从数据库中得到数据。很难说。我不知道你的数据库,也看不到你在做什么。在浏览器中手动打开URL testrun.cfc?method=getuser&init=SomeTeamId。它显示了什么?在CFC上工作,直到它显示SomeTeamId的预期结果。在那之后,jQuery方面的工作也可能开始了。我按照建议打开了URL,并从数据库中获取了要显示的值。问题是表单字段中没有显示值。明白了!我在cffunction标记中将returnformat设置为plain@托马拉克谢谢你的帮助。你可以看出我完全迷路了。我感谢你的帮助-我相信你学到了很多,这就是重点