Чтобы передать несколько объектов в пределах одной переменной, которую вы должны использовать другую структуру. В вашем случае вам нужна строка имя и google для отправки. Используя ваш метод, вы просто переопределяете значение имени переменной.
Существует несколько способов решения этой проблемы. Я должен сказать, что я не использовал python какое-то время (так что фитонеры там, не стесняйтесь меня исправлять).
idea 1: Переименуйте параметры в js-коде и соедините их вместе в python. Изменение одной из ключевых ваших 2 параметров, так что они не отменяют ...
$.getJSON(
"http://servername::8001/SearchNode",
{
name1: "name",
name2: "google"
},
function(data) {...}
)
... а затем восстановить ваш массив ...
query_args = {'name': [name1, name2] }
или альтернативы не беспокоить с query_args, а обрабатывать их непосредственно в urllib.urlencode
output = urllib2.urlopen('yoururl', urllib.urlencode({'name':[name1, name2]}, True))
идея 2: Это, вероятно, то, что вы хотите сделать. Поместите обе строки внутри массива и отправьте это как параметр. В json.org вы можете посмотреть различные виды данных, отправляемых через ajax. В этом случае, ваш код будет выглядеть следующим образом:
$.getJSON(
"http://servername::8001/SearchNode",
{
name: ["name", "google"]
},
function(data) {...}
)
Используя этот метод, вы можете легко добавить еще больше параметров, не добавляя так много различных переменных, которые вам нужно Concat позже. Поскольку я больше не знаком с python, я не могу сказать вам, как это будет хранить python (возможно, список). Но в любом случае вы также сможете справиться с этой задачей в функции urlencode. (По крайней мере, documentation говорит, что это должна быть последовательность, которая, безусловно, есть в этом списке)
Еще один приятный вопрос. И ах, удивление, вы только что достигли уровней upvote ;-) – GhostCat