簡體   English   中英

如何使用帶有局部變量的jQuery getJSON

[英]How use jquery getJSON with a local variable

我想擴展Ace Editor的完成范圍,並且我需要一個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調用服務器。 這只是執行GET請求的簡捷方法,該請求在響應中接受application/json

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM