Вызов функции cfc ColdFusion с помощью AJAX

Я пытаюсь проверить ввод текста с помощью проверки 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>

Я получаю "неожиданный конец ввода". В отладчике после проверки того, что значение не является нулевым, он переходит к конечному коду. Я не уверен, почему.


person user737665    schedule 14.09.2015    source источник
comment
в отладчике после проверки ненулевого значения он переходит к концу кода. не уверен.. почему   -  person user737665    schedule 14.09.2015
comment
попробуйте ввести предупреждение (значение) перед вызовом ajax, чтобы увидеть, что на самом деле передается как значение, и сообщите нам об этом. Спасибо   -  person Mark Hart    schedule 24.09.2015


Ответы (1)


Сначала вы можете написать функцию ajax для проверки ввода текста. В функции ajax вы можете передать текстовое значение, которое вы ввели через данные корыта. URL-адрес функции cfc, которую вы вызвали для проверки входных текстовых данных, а метод — это имя вашей функции cfc. Вот это "SVCDSIDExists". В файле cfc вы можете добавить новую функцию, текстовое значение которой вы проверили. Access="remote" для ajax. Вы можете проверить свою таблицу с помощью поля . Если у него есть запись, она возвращает 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>

person Biby Cheriyan    schedule 04.05.2016