Я занимаюсь разработкой в Google App Engine (python sdk) и хочу использовать jQuery для отправки Ajax-запроса на сохранение ответа на вопрос.
Как лучше всего отправить эти данные на сервер? В настоящее время у меня есть:
function storeItem(question_id) {
var answerInputControl = ".input_answer_"+question_id;
var answer_text = $(answerInputControl).text();
$.ajax({
type: "POST",
url: "store_answer.html",
data: "question="+question_id,
success: function(responseText){
alert("Retrieved: " + responseText);
}
});
}
Это берет идентификатор вопроса и предоставляет его серверу через строку запроса. Но на стороне сервера я не могу получить доступ к содержимому элемента управления ответами, который хочу сохранить. Без Ajax я могу выполнить эту операцию со следующим:
class StoreAnswers(webapp.RequestHandler):
def post(self):
question_id = self.request.get("question_id")
answer_text = self.request.get("input_answer" + question_id)
Но когда я выполняю этот вызов через Ajax, мой answer_text
пуст.
- Нужно ли отправлять содержимое этого элемента управления как часть данных с запросом Ajax?
- Добавлять ли сам элемент управления в строку запроса? Его содержание? Имеет ли значение, что содержание может быть длиной в несколько сотен символов? Это самая рекомендуемая практика?
- Если вы отправляете его в виде строки запроса, каков наилучший способ избежать содержимого, чтобы злонамеренный пользователь не повредил системе?