Добавить переменную в строку JSON или поменять местами? - PullRequest
0 голосов
/ 08 июня 2011

Хорошо, я использую что-то вроде этого

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

работает нормально, но теперь мне нужно добавить еще одну переменную типа, такую ​​как:

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

Да, у них одно и то же имя .... поэтому я могу вставить другой тип или есть способ поменять строку с помощью щелчка мышью?

1 Ответ

0 голосов
/ 08 июня 2011

Добавьте [] к ключу в вашем URL:

$.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')

EDIT

После дополнительных комментариев, я считаю, что это то, что вы ищете:

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/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...