使用AJAX调用ColdFusion cfc函数

时间:2015-09-14 12:34:02

标签: coldfusion coldfusion-9 cfc

我正在尝试使用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>

我得到&#34;意外的输入结束&#34;。在调试器中,在检查该值不是空值后,它会跳到结束代码。我不知道为什么。

1 个答案:

答案 0 :(得分:0)

首先,您可以编写一个用于检查文本输入的ajax函数。在ajax函数中,您可以传递通过数据输入的文本值。您调用输入文本数据的url cfc函数,该方法是cfc函数的名称。这是&#34; SVCDSIDExists&#34;。在cfc文件中,您可以添加检查文本值的新函数。 access =&#34; remote&#34;为了ajax。 您可以在该表中查看该字段。如果它有记录则返回1,否则返回0.这个值可以从ajax中的成功数据中获得。根据此值,您可以更改输入框的颜色。

&#13;
&#13;
<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>
&#13;
<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>
&#13;
&#13;
&#13;