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

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

<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 (data);

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

Спасибо, MEM

2 ответа

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

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

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

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

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

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

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

$.post("rpc.php", { "querystring": ""+inputstring+"" },
   function(data){
     alert(data); // Json 
   }, "json");
Другие вопросы по тегам