Javascript 如何将jquery getJSON与局部变量一起使用

Javascript 如何将jquery getJSON与局部变量一起使用,javascript,jquery,ajax,json,ace-editor,Javascript,Jquery,Ajax,Json,Ace Editor,我想扩展Ace编辑器的完整性,我需要word的json,这是我的代码: function load_completions() { var object = $('#preview').attr('class'); $.ajax({ type: "POST", url: "test_editor_ajax.php", data: {action:'load_completion', obj

我想扩展Ace编辑器的完整性,我需要word的json,这是我的代码:

function load_completions() {

        var object = $('#preview').attr('class');

        $.ajax({
            type: "POST",
            url: "test_editor_ajax.php",
            data: {action:'load_completion', object:object},
            cache: false,
            success: function(json){
                var adminCompleter = {
                    getCompletions: function(editor, session, pos, prefix, callback) {
                        if (prefix.length === 0) { callback(null, []); return }
                        $.getJSON(json, function(wordList) {
                            callback(null, wordList.map(function(ea)  {           
                                return {name: ea.word, value: ea.word, meta: "optional text"}
                            }));
                        })
                    }
                }
                langTools.addCompleter(adminCompleter);
            }
        });

        return false;

    }
getJSON
函数需要一个指向json文件的url,但是我已经用ajax在本地创建了json,在上面的代码中,您可以看到,ajax调用返回一个json,我是这样生成的:

echo json_encode($completions);

$completions
是一个数组,所以我的问题是如何在该函数中使用它?

JSON是JavaScript对象表示法,所以:
[]
{}
是JSON

我想你只需要:

        getCompletions: function(editor, session, pos, prefix, callback) {
            if (prefix.length === 0) {
              callback(null, []);
              return;
            }
            callback(null, wordList.map(function(ea)  {           
                return {name: ea.word, value: ea.word, meta: "optional text"}
            }));
        }

$.getJSON
将使用AJAX调用服务器。这只是一个在响应中接受
application/json
的GET请求的简写方法。

谢谢您的回答,但是在示例代码中使用我的json变量的地方呢?
json
wordList
不一样吗?请参阅。只需解析它,您就可以像访问任何其他对象一样访问它。@andrusieczko,如果我使用json.map(函数(ea)不起作用…请在console@MarekLis成功了!我必须做var wordList=JSON.parse(JSON);谢谢!