Отправка нескольких полей с помощью AJAX

#javascript #python #ajax

#javascript #python #ajax

Вопрос:

Я пытаюсь выяснить, как отправить несколько полей с помощью AJAX. Буду ли я использовать GET или POST?

Я использую серверные страницы Python. Я хочу, чтобы мои поля обновлялись в зависимости от того, какая опция выбрана в поле выбора — насколько я знаю, у меня пока это работает, мне просто интересно, как отправить несколько отдельных фрагментов данных через XMLHttpRequest.

т.е.

 fname = c.execute("""SELECT fname from employees WHERE user = %s;""", (uname))

lname = c.execute("""SELECT lname from employees WHERE user = %s;""", (uname))

email = c.execute("""SELECT email from employees WHERE user = %s;""", (uname))

deptid = c.execute("""SELECT dept_id from employees WHERE user = %s;""", (uname))

active = c.execute("""SELECT active from employees WHERE user = %s;""", (uname))

sentient = c.execute("""SELECT sentient from employees WHERE user = %s;""", (uname))
  

У меня были бы все эти фрагменты данных, и я хотел бы отправить их обратно на мою другую страницу. Как бы мне это сделать, чтобы он обновлялся асинхронно?

Обратите внимание, я хочу отправить это С сервера на страницу клиента. Т.Е. Все эти поля будут отправлены обратно на мою главную страницу и отображены пользователю, если пользователь выберет другое имя пользователя в поле выбора на странице клиента (которое здесь не отображается и которое будет отображатьсяотправляется через POST или GET)

Комментарии:

1. нет, сэр, то, что вы пытаетесь сделать, называется «SQL-инъекцией», и это должно быть давно забытое колдовство.

2. @Lucho, я думаю, что код, который он опубликовал, находится на стороне сервера, а не на стороне клиента, и ему нужно ОТПРАВИТЬ эти поля клиенту, подумал, что это не совсем понятно.

3. Да, их необходимо отправить клиенту.

4. все в порядке, пока он идет uname=conn.escape_string(uname) или что-то в этом роде

Ответ №1:

Хотя я не знаком с Python, я бы поспорил, что есть способ сериализовать ваши данные в JSON для возврата клиенту.

 {"fname" : "Bob", "lname" : "Johnson", "email" : "email.@email.com" ... }
  

Затем на стороне клиента вы сможете просматривать данные, как и любой другой объект javascript:

 var fname = response.fname; // etc
  

Ответ №2:

Я предполагаю, что у вас есть какой-то способ обработки запросов от клиента и т. Д.? Вам нужно будет выбрать какой-то протокол между клиентом и сервером. JSON довольно удобен для этого, поскольку JavaScript очень легко может его проанализировать.

Итак, сериализуйте свой объект в Python (см. http://docs.python.org/library/json.html ):

 import json
print json.dumps( { "fname": fname, "lname": lname } ) # etc.
  

Затем запросите страницу; например, с помощью jQuery:

 $.getJSON( "url/to/page", function( data ) {
    // do something
}