Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 选择2使用initSelection ajax调用显示未定义_Javascript_Jquery_Ajax_Jquery Select2 - Fatal编程技术网

Javascript 选择2使用initSelection ajax调用显示未定义

Javascript 选择2使用initSelection ajax调用显示未定义,javascript,jquery,ajax,jquery-select2,Javascript,Jquery,Ajax,Jquery Select2,我正在尝试使用远程ajax调用和initSelection函数将一个条目预加载到Select2中。我的问题似乎很相似,但两个答案对我都不适用 调用工作并以json格式返回正确的结果,问题似乎在于回调没有以正确的格式发送数据对象 j("#selectElement").select2({ placeholder: "Placeholder text", multiple: false, minimumInputLength: 1, ajax: { u

我正在尝试使用远程ajax调用和initSelection函数将一个条目预加载到Select2中。我的问题似乎很相似,但两个答案对我都不适用

调用工作并以json格式返回正确的结果,问题似乎在于回调没有以正确的格式发送数据对象

j("#selectElement").select2({
    placeholder: "Placeholder text",
    multiple: false,
    minimumInputLength: 1,
    ajax: {
        url: "/getfiles",
        dataType: 'json',
        data: function (term, page) {
            return {
                q: term //search term
            };
        },
        results: function (data, page) {
            return data;
        }
    },
    initSelection: function(element, callback) {
        return j.getJSON("/getfiles?id=" + (element.val()), null, function(data) {
            if (j.isFunction(callback)) {
                //alert(JSON.stringify(data, null, 4));
                return callback(data);
            }
        });
    }
});
当我提醒数据对象时,它会返回以下数据:

{
"results": [
    {
        "id": "1",
        "text": "Name of the file"
    }
],
"more": "false"
}

最终结果是文本“未定义”被加载到select2输入中

我将非常感谢任何帮助


Tim

解决方案是像这样格式化回调数据

return callback(data.results[0]);
这个问题/答案值得称赞: