代码之家  ›  专栏  ›  技术社区  ›  xkeshav

使用Ajax jQuery发送JSON数据的链接

  •  0
  • xkeshav  · 技术社区  · 14 年前

    我使用自动建议使用 Ajax Json .

    现在,当一个用户选择一个用户名时,我想在该用户名的链接上发送用户

    我的JSON数据就是这样来的

    {
     query:'hel',
     suggestions:["hello world","hell boy ","bac to hell"],
     data:["2","26","34"]                       
    }
    

    现在,我希望该用户转到 http://userProfile.php?uid=26 在选择用户名时(假设用户选择“地狱男孩”)。 如何做到这一点??

    更新: 我一步一步地描述我在做什么 我使用的是jquery ajax的搜索框,当用户在输入框上写一些文本时,我们显示(建议)重新搜索的值。

    步骤1。 当用户至少写(2个字母)时 <input type="text" name="q" id="query" /> 然后调用一个函数(如下),在该函数中,我发送文本框(如hell)上写的值。

    <script type="text/javascript" language="javascript">
        var options, a;
        jQuery(function(){
           options = { serviceUrl:'rpc.php' };
           var a = $('#query').autocomplete({ 
            serviceUrl:'rpc.php',
            minChars:3, 
            delimiter: /(,|;)\s*/, // regex or character
            maxHeight:400,
            width:300,
            zIndex: 9999,
            deferRequestBy: 0, //miliseconds
          });
        });
     </script>
    

    步骤2: rpc.php ,我收集数据并使用JSON显示 我的最终数据格式如下

    {
     query:'hell',
     suggestions:["hello world","hell boy ","bac to hell"],
     data:["2","26","34"]                       
    

    }

    其中包含用户名和数据的建议列表是userid(来自用户表)。上面的数据位于一个DIV(前端)中,其中用户名显示在列表中

    步骤3: 现在,如果我使用uparrow和downarrow选择任何用户名,那么输入框中就会填入该名称, 步骤4: 现在我想要的是,当用户选择usename时,页面会自动转到该用户的配置文件部分。( userprofile.php?uid=2 )

    1 回复  |  直到 14 年前
        1
  •  1
  •   RYFN    14 年前

    如果你看 page you linked ,在“如何使用”部分下,您将看到可以添加 onSelect 回调函数:

     // callback function:
    onSelect: function(value, data){ alert('You selected: ' + value + ', ' + data); },
    

    现在,您应该能够访问您的数据,并将您的用户移动到所需的页面。

    例如如下:

    <script type="text/javascript" language="javascript">
    var options, a;
    jQuery(function(){
       options = { serviceUrl:'rpc.php' };
       var a = $('#query').autocomplete({ 
        serviceUrl:'rpc.php',
        minChars:3, 
        delimiter: /(,|;)\s*/, // regex or character
        maxHeight:400,
        width:300,
        zIndex: 9999,
        deferRequestBy: 0, //miliseconds
         // callback function:
        onSelect: transferUser },
      });
    });
    
    function transferUser(value, data)
    {
    window.location.href = 'userprofile.php?uid=' + data;
    }
    </script>
    

    (请注意,我没有测试过这个,但它应该给您一些关于如何继续的想法!)

    值得注意的是,jquery ui的最新版本 also has autocomplete