ColdFusion从jquery中的CFC返回数据以建立相关的选择不起作用

前端之家收集整理的这篇文章主要介绍了ColdFusion从jquery中的CFC返回数据以建立相关的选择不起作用 前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

试图使用CFC和jquery来获得一个简单的相关选择,似乎它应该可以工作,但是我一直收到未定义的错误.

第一次选择将状态发送到CFC,该CFC返回ID和大学名称的数组,以及它们的数组-这似乎正在起作用(只是显示ajax调用,因为它在这里工作得很好)

$.ajax({ 
    method: 'post',dataType: 'json',url: compath + '/remote.cfc',data: { 
      method: 'querySchoolsByState',returnFormat: 'json',school_state: $selStateShort 
    },dataFilter: function(data,type){
      //CF has // set as security prefix
      return type == 'json' ? data.replace(/^(\/{2})?/,'') : data;
    },success: 
        function(results,status,xhr){ 
        var $schoolSelect = $('#school');
        $schoolSelect.find('option:not(:first)').remove();
        if (results.length){ 
          console.log(results.length);
          console.log(results); 
          $.each (results,function(i){ 
            console.log(results[i].co_coid); 
            $collegeSelect.append('<option value="' + results[i].co_coid + '">' + results[i].co_name + '</option>'); 
        });

前两个控制台日志按预期工作-长度和实际json数据:

enter image description here

这个(console.log(results [i] .co_coid);)只是未定义.

我很好奇这是否与dataFilter不起作用以及Chrome Dev Tools处理//,但代码未处理它有关.如果查看“网络”选项卡,我确实会看到//前缀:

enter image description here

最佳答案
我将快速说明ColdFusion函数如何区分大小写(尤其是JSON).

<cfscript>
    function testJSON() returnFormat="JSON" {
        var retVal = {
            imlower : "lowercase",IMUPPER : "UPPERCASE",ImMixed : "Mixed Case","ImQuoted" : "Quoted Case"
        } ;

        return serializeJSON(retVal) ;
    }

    function testNoJSON() {
        var retVal = {
            imlower : "lowercase","ImQuoted" : "Quoted Case"
        } ;

        return retVal ;
    }
    writeDump(testJSON());
    writeDump(testNoJSON());
</cfscript>

这将返回JSON字符串{“ IMUPPER”:“大写”,“ IMMIXED”:“混合大小写”,“ IMLOWER”:“小写”,“ ImQuoted”:“引用大小写”}}和ColdFusion结构.两者都显示键名大写(引号除外).

因此,CF将使用大写键,除非使用引号.由于应用程序可能会与许多不同类型的技术或系统进行交互,从而以不同的方式区分大小写,因此了解变量从函数中产生的外观非常重要.如果您要使用Javascript(区分大小写),则最好将所有变量都大写,这样一来,当您实际传递IMMIXED时就不会认为您传递了ImMixed.

https://cffiddle.org/app/file?filepath=97aaf3fa-4cd5-4579-9ee8-2fa1314d3304/d8e80b02-8ebb-40b2-8be8-1a08ff36c343/d0e94bc5-d19b-424c-9cd4-cab999c4c8df.cfm

原文链接:https://www.f2er.com/jquery/530883.html

猜你在找的jQuery相关文章