【问题标题】:Add variable to json string or swap on click?将变量添加到 json 字符串或单击时交换?
【发布时间】:2011-06-07 22:54:01
【问题描述】:

好的,我使用这样的东西

$.getJSON("http://myurl.com/search-ext.json&type=aaaaaa&callback=?", 

工作正常,但现在我需要添加另一个类型变量,如下所示:

$.getJSON("http://myurl.com/search-ext.json&type=aaaaaa&type=bbbbb&callback=?",

是的,它们具有相同的名称......所以我可以插入另一种类型还是有办法通过点击换出字符串?

【问题讨论】:

    标签: jquery query-string jsonp


    【解决方案1】:

    [] 添加到您网址中的键中:

    $.getJSON("http://myurl.com/search-ext.json&type[]=aaaaaa&type[]=bbbbbb&callback=?",
    

    另外,我不知道你是不是故意这样做的,但至少看起来你需要一个 ? .json 之后:

    $.getJSON("http://myurl.com/search-ext.json?type[]=aaaaaa&type[]=bbbbbb&callback=?",
    

    然后,例如在 PHP 中,您将在服务器上有一个数组:

    $_GET['type'] ~ array('aaaaaa','bbbbbb')
    

    编辑

    在其他 cmets 之后,我相信这就是您正在寻找的:

    http://plugins.jquery.com/project/query-object

    var newerQuery = $.query.SET('type', 'bbbbb');
    var newURL = "http://myurl.com/search-ext.json?" + newerQuery;
    $.getJSON(newURL);
    

    一个例子:

    http://jfcoder.com/test/gettypes.php?type=aaaaaa&callback=MyCallback

    编辑 2

    <a href="href://www.somewhere.com/?type=aaaaaa&amp;other=yes&amp;another=yes&amp;yeti=neverseen" 
       onClick="return replaceType(this,'bbbbbb')">Link</a>
    
    function replaceType(el, value) {
        sub = el.href.substring(0,el.href.indexOf('?'));
        split = el.href.substring(el.href.indexOf('?')+1).split("&");
        for (var i = 0; i < split.length; i++) {
            if (split[i].indexOf('type=') !== 0) continue;
            split[i] = encodeURI("type="+value);
        }
        el.href = sub + "?" + split.join('&');
        alert(el.href);
        return false;
    }
    

    http://jsfiddle.net/Phjsv/1/

    【讨论】:

    • 可能只是忽略了它。添加 []=bbbbb 会做什么?我很困惑 - 我试图根据点击的链接显示不同的结果。
    • 一种需要有第二种类型,另一种不需要。
    • 没有 php,这只能是 javascript 或 jquery
    • 听起来你想要的是一种使用 GET 字符串 (&amp;type=aaaaaa&amp;type=bbbbb) 将多个 type 传递给服务器的方法。
    • 或...您是否尝试替换 GET 字符串中的 type
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-09-09
    • 1970-01-01
    • 2013-11-25
    • 2017-04-03
    • 1970-01-01
    • 2013-04-12
    • 2020-11-26
    相关资源
    最近更新 更多