#jquery #query-string #jsonp
#jquery #запрос-строка #jsonp
Вопрос:
Хорошо, я использую что-то вроде этого
$.getJSON("http://myurl.com/search-ext.jsonamp;type=aaaaaaamp;callback=?",
работает нормально, но теперь мне нужно добавить другую переменную типа, подобную этой:
$.getJSON("http://myurl.com/search-ext.jsonamp;type=aaaaaaamp;type=bbbbbamp;callback=?",
Да, у них одинаковое имя …. так могу ли я вставить другой тип или есть способ поменять строку с помощью onclick?
Ответ №1:
Добавить []
к ключу в вашем URL:
$.getJSON("http://myurl.com/search-ext.jsonamp;type[]=aaaaaaamp;type[]=bbbbbbamp;callback=?",
Кроме того, я не знаю, сделали ли вы это специально или нет, но, по крайней мере, кажется, что вам нужен ? after .json:
$.getJSON("http://myurl.com/search-ext.json?type[]=aaaaaaamp;type[]=bbbbbbamp;callback=?",
Тогда, например, в PHP, у вас будет массив на сервере:
$_GET['type'] ~ array('aaaaaa','bbbbbb')
Редактировать
После дополнительных комментариев, я полагаю, это то, что вы ищете:
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=aaaaaaamp;callback=MyCallback
ПРАВКА 2
<a href="href://www.somewhere.com/?type=aaaaaaamp;amp;other=yesamp;amp;another=yesamp;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("amp;");
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('amp;');
alert(el.href);
return false;
}
Комментарии:
1. Вероятно, просто пропустил это. Что даст добавление [] =bbbbb? Я сбит с толку — я пытаюсь отобразить разные результаты в зависимости от нажатой ссылки.
2. Один должен быть со вторым типом, а другой без него.
3. Нет php, это должен быть только javascript или jquery
4. Похоже, вы хотели найти способ передавать несколько
type
файлов на сервер с помощью GET string (amp;type=aaaaaaamp;type=bbbbb
).5. или… Вы пытаетесь ЗАМЕНИТЬ
type
в строке GET?