如何在DIV内显示ajax调用的响应?

时间:2016-09-06 20:10:55

标签: jquery ajax coldfusion

我有一个复选框,用于在选中/取消选中时更新数据库表。更新是通过对CFC的ajax调用来执行的。那部分工作正常。现在我想在div内显示来自CFC的响应。

问题是我当前的代码没有显示任何内容,而console.log()我得到的内容未定义&#39;。如何从cfc获得响应,即<cfset finalResult = {user_names=new_value_name}>在div中显示?

的jQuery / HTML

<div id="content"></div>

<script>
$('input:checkbox').click(function() {
    var user_val = $('input[name=current_user]').val();
    alert(user_val);
    var id = $(this).attr('id');
    var checked = $(this).is(':checked');

    if ($(this).is(":checked")) {
        $.ajax({
            type: "POST",
            url: 'ajaxcall.cfc?method=Getvalues',
            data: {
                checked: checked,
                mycheckbox: id,
                user_val: user_val
            },
            success: function(data) {
                var objData = JSON.parse(JSON.stringify(data));
                $('.mycheckbox').val(id);
                $('.user_val').val(user_val);
                //console.log(objData.user_names);
                $("#content").html(objData.user_names);
            },
            error: function() {
                alert('Error');
            },
            complete: function() {}
        });
    }
    });
    }

});    
</script>

ajax_call.cfc

<cfcomponent output="true">
   <cffunction name="Getvalues" access="remote" output="yes"  returntype="struct" returnformat="json">

       <cfset finalResult = {user_names=new_value_name}>
       <cfreturn finalResult>
    </cffunction>
</cfcomponent>

1 个答案:

答案 0 :(得分:-2)

您可以使用JQuery.parseXML()方法解析通过ajax请求获得的Xml:

    var xml = "<cfcomponent output="true">
                <cffunction name="Getvalues" access="remote" output="yes"  
                returntype="struct" returnformat="json">
                <cfset finalResult = {user_names=new_value_name}>
                <cfreturn finalResult>
                </cffunction>
                </cfcomponent>",
    xmlDoc = $.parseXML( xml ),
    $xml = $( xmlDoc ),
    $result = $xml.find( "cfset" ).attr('finalResult');