0

我正在使用 ColdFusion 10 通过 AJAX 获取数据,具体取决于所选的下拉菜单。

<script>
function loadQuery() {
    var assign = $("#fcbCountry").val();
    $.ajax({
        type: 'get',
        url: 'http://127.0.0.1/WMT/model/getCandidate.cfc',
        data: {
            method: 'getRegions',
            country: assign
        },
        dataType: 'json',
        async: false,
        success: function (result) {

            var PosVar = result.DATA[0][1];
            alert(PosVar);
        }
    });

};
</script>

的值#fcbCountry被传递给 CFC,并将 JSON 返回到页面。我通过使用警报功能查看数据来确认这一点。

数据以所谓的 ColdFusion JSON 格式返回:

数据:

{"COLUMNS":["STRVALUE","STRDISPLAY"],"DATA":[[0,null],[1,"Central"],[2,"Central-Detailee"],[3,"East"],[4,"North"],[5,"South"],[6,"Southwest"],[8,"West"]]}

我想遍历 JSON 结果并为表单中的另一个选择框创建下拉选项。

我试图拼凑一个例子,但是当我尝试这个时:

<script>
function loadQuery() {
    var assign = $("#fcbCountry").val();
    $.ajax({
        type: 'get',
        url: 'http://127.0.0.1/WMT/model/getCandidate.cfc',
        data: {
            method: 'getRegions',
            country: assign
        },
        dataType: 'json',
        async: false,
        success: function (result) {

            var PosVar = result.DATA[0][1];
            alert(PosVar);
        }
    });

    var options = $("#fcbRegion");
    $.each(result, function () {
            options.append($("<option />").val(this[index]]).text(this.STRDISPLAY));
    });

}
</script>

我收到未定义 loadQuery 函数的错误。

4

1 回答 1

2

您的代码应如下所示,

function loadQuery() {
    var assign = $("#fcbCountry").val();
    $.ajax({
        type: 'get',
        url: '/WMT/model/getCandidate.cfc',
        data: {
            method: 'getRegions',
            country: assign
        },
        dataType: 'json',
        success: function (result) {
            var options = $("#fcbRegion");
            $.each(result.DATA, function () {
                options.append($("<option />").val(this[0]).text(this[1]));
            });
        }
    });
}

loadQuery();
于 2013-06-12T19:58:50.663 回答