jquery $ .post - 这里结尾的三部曲 - 关于json与$ .post集成的一些问题

时间:2010-08-20 14:52:44

标签: jquery ajax .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(数据);

[UPDATE] 这假定从服务器端返回的数据是html格式。 如果,这种格式在json中,我们需要在这里修改什么,以使其适应json服务器端响应呢? [/ UPDATE]

谢谢, MEM

2 个答案:

答案 0 :(得分:2)

回答1)你确定它的意思是“”(双引号,双引号)而不是'“'(单引号,双引号,单引号)。

这会更有意义,因为你会考虑任何inputString。 (例如,如果输入字符串是'hello',那么您的行将是queryString: "hello"

我认为上面发生的是你要追加并在inputString之前添加一个空字符串。

我不完全确定你要问的是什么(2),但一般来说,在隐藏输入中存储JSON数据是公认的做法。从那里,您可以使用JSON解析器将其转换为JavaScript对象以供使用。

编辑: 如果你想看一下,我做了一个jsfiddle模型: http://jsfiddle.net/gRQMy/5/

答案 1 :(得分:0)

你需要双引号来关闭字符串然后添加变量然后再次打开字符串

你可以使用类似jquery网站上的例子来获取json

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