2016-09-06 29 views
0

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

问题是我现在的代码什么也没有显示,并且在console.log()上我得到'undefined'。我怎样才能得到从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> 
+0

这是XML ,而不是JSON。 – Barmar

+3

做'objData = JSON.parse(JSON.stringify(data))'是什么意思?这与'objData = data'是一样的。 – Barmar

+0

Ajax调用回来了什么?原始json是什么样的。另外,如果这是“innerHTML”?还是我混淆jQuery与普通的JS? –

回答

-2

您可以解析XML,你使用JQuery.parseXML()方法通过Ajax请求有:

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'); 
+0

代码块中的“XML”是第二个文件“ajax_call.cfc”的源代码。只有配置不良的Web服务器才会在ajax调用中返回。 – Twillen