#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
}