【问题标题】:Invoke ColdFusion cfc function using AJAX使用 AJAX 调用 ColdFusion cfc 函数
【发布时间】:2015-09-14 12:34:01
【问题描述】:

我正在尝试使用 sql 检查来验证文本输入。根据 ajax 调用的结果,我想将输出返回为红色或绿色。

HTML:

<script>
$("#cdsid").click(function() {
    debugger;
    var value = $.trim($("#svcdsid").val());
    if (value != '') {
        $.ajax({
           type:"POST",
           url:"SVCDS_filter.cfc?method=SVCDSIDExists",
           data: "value",
           cache:false,
           dataType: "json",
           success: function(){
               alert('YES');
           },
           error: function(){
               alert('NO');
           }
        });
    } else {
         $("#targetDiv").html("Please Enter SSID");}
    });
</script>

我收到“输入意外结束”。在调试器中,检查该值不是空值后,它会跳到结束代码。我不知道为什么。

【问题讨论】:

  • 在调试器中,检查非空值后,它会跳到结束代码。不确定..为什么
  • 尝试在您的 ajax 调用之前输入 alert(value) 以查看实际作为值传递的内容,请告知我们。谢谢

标签: coldfusion coldfusion-9 cfc


【解决方案1】:

首先您可以编写一个 ajax 函数来检查您的文本输入。在 ajax 函数中,您可以传递您通过数据输入的文本值。您调用的用于检查输入文本数据的 URL cfc 函数,方法是您的 cfc 函数的名称。这里是“SVCDSIExists”。在 cfc 文件中,您可以添加检查文本值的新函数。 ajax 的 access="remote"。 您可以使用字段签入您的表格。如果它有记录,则返回 1,否则返回 0。您可以从 ajax 中的成功数据中获取此值。根据此值,您可以更改输入框的颜色。

<script>
$("#cdsid").click(function() {	
	var value = $.trim($("#svcdsid").val());
	if ($.trim(value).length != 0) {
		$.ajax({
			type:"POST",
			url:"SVCDS_filter.cfc?method=SVCDSIDExists",
			data: {
				value : value
			},
			cache:false,
			async : false,
			success: function(data){
			   if(data = 1){
					alert('YES');
					$("#targetDiv").css('border',"1px solid green")
				} else {
					alert('NO');
					$("#targetDiv").css('border',"1px solid red");
				}
			}
		});
	} else {
		 $("#targetDiv").html("Please Enter SSID");
	}
});
</script>
<cffunction name="SVCDSIDExists" returntype="any" access="remote" returnformat="plain" >		
	<cfargument name="value" type="string" default="" required="yes">	
	<cfset variables.returnVal = 0>
	<cfquery name="qGetSVCDSIDExists" result="result" datasource="#Application.ds#"  username="#Application.UserName#" password="#Application.Password#">
		select   columnname
		from  your_table
		where 1 = 1
		<cfif StructKeyExists(arguments,"value")>
			and columnname = <cfqueryparam cfsqltype="cf_sql_varchar" value="#arguments.value#">
		</cfif>
	</cfquery>
	<cfif qGetSVCDSIDExists.recordCount >
		<cfset variables.returnVal = 1 >	
	</cfif>
	<cfreturn variables.returnVal>
</cffunction>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-02-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多