jquery $ .post - Триология, заканчивающаяся здесь - некоторые вопросы об интеграции json с $ .post - PullRequest
0 голосов
/ 20 августа 2010

Вот некоторый код, который я видел в Интернете, чтобы помочь мне архивировать более или менее то же самое:

<input size="30" id="inputString" onkeyup="lookup(this.value);" type="text" />


function lookup(inputString) {
    if(inputString.length == 0) {
        // Hide the suggestion box.
        $('#suggestions').hide();
    } else {
        $.post("rpc.php", {queryString: ""+inputString+""}, function(data){
            if(data.length >0) {
                $('#suggestions').show();
                $('#autoSuggestionsList').html(data);
            }
        });
    }
} // lookup

1) ** {queryString: "" + inputString + ""} Это нотация json, но зачем нам первый "" и последний ""? **

2) . $ ( '# AutoSuggestionsList') HTML (данные);

[ОБНОВЛЕНО] Это предполагает, что возвращаемые данные со стороны сервера поступают в формате html. Что если этот формат был в json, что нам нужно изменить здесь, чтобы адаптировать его к ответу на стороне сервера json? [/ ОБНОВЛЕНИЕ]

Спасибо, MEM

Ответы [ 2 ]

2 голосов
/ 20 августа 2010

В ответе на 1) вы уверены, что это означает "" (двойные кавычки, двойные кавычки), а не "" '(одинарные кавычки, двойные кавычки, одинарные кавычки).

Это имело бы больше смысла, так как вы бы хотели, чтобы inputString был. (Например, если входная строка 'привет', тогда ваша строка будет queryString: "hello"

Я думаю, что выше происходит то, что вы добавляете и добавляете пустые строки к inputString.

Я не совсем уверен, о чем вы спрашиваете (2), но в целом хранение данных JSON в скрытом вводе является общепринятой практикой. Оттуда вы можете использовать JSON-анализатор, чтобы превратить его в объект JavaScript для использования.

Edit: Я сделал макет jsfiddle, если вы хотите посмотреть: http://jsfiddle.net/gRQMy/5/

0 голосов
/ 20 августа 2010

Вам нужны двойные кавычки, чтобы закрыть строку, затем добавить переменную и снова открыть строку

Вы можете вернуть json, используя что-то вроде примера на сайте jquery

$.post("rpc.php", { "querystring": ""+inputstring+"" },
   function(data){
     alert(data); // Json 
   }, "json");
...