2015-04-03 2 views
1

Я создаю сайт с Python, Javascript (JQuery) и AJAX. Я знаю, чтобы выполнить скрипт Python с помощью Ajax, но я не знаю, как вернуть данные в Javascript с помощью Python.вернуть данные в javascript с помощью Python

Например, если в форме есть ошибка, отправьте предупреждение («Неправильная почта»). Я знаю, что с PHP я могу использовать echo «что-то», но я не знаю, как это сделать с Python.

def secure_mail(mail): 
    if mail == "": 
     error = "the mail is empty" 
     print error 

Благодарим за помощь!

+1

какой вид каркаса вы используете? – Daniel

+0

PHP гораздо более «запутан» с помощью сети, поскольку python есть. В python у вас есть webapp, который отвечает на HTTP-запросы. Если вы хотите вернуть ошибку с помощью AJAX, вам просто нужно что-то вернуть в ответе AJAX, который ваш клиентский (javascript) будет обнаруживать как ошибку. Для отображения всего, что вам нужно для обработки этого клиента (javascript). – syntonym

+0

Я не использую рамки. Но, возможно, мне нужно использовать фреймворк. На самом деле, я изучаю Python, и я хочу создать свой проект самостоятельно. – Luc

ответ

1

В вашем сообщении об ошибке или ошибке функции ajax, определенном в вашем методе ajax, вы хотели бы получить обратно данные JSON, которые будут содержать вашу конкретную ошибку, как определено вашим бэкэндом Python.

поэтому в вашем бэкэнде python создайте словарь.

import json 
returnValue = {'error': 'you messed up something'} 

## serialize to json string 
return json.dumps(returnValue) 

чем в методе АЯКС data.error будет равняться «вы испортили что-то»

В зависимости от вашего веб-рамки выбора (Джанго, опоки) концепции обработки запроса и возвращает словарь как строка json будет аналогичной.

+1

Прежде чем продолжить, я должен изучить Flask или Django. Большое вам спасибо за вашу помощь – Luc

+0

никаких проблем, я рекомендую Django, колба отлично, но Django имеет массу документов и очень большое сообщество. Кроме того, он может обрабатывать огромные проекты, не забирая тонну дополнительных материалов, а не микрокарту, такую ​​как Flask. –

Смежные вопросы