2013-07-14 2 views
1

Ajax код:Получение AJAX данных в Python на Dreamhost

$.ajax({ 
    url: '../py/process.py', 
    type: 'POST', 
    data: {'newEpisodeXML': newEpisodeXML} 
}); 

Python код:

#!/usr/bin/python 

newEpisodeXML = self.request.get('newEpisodeXML') 

testing = open('test.rss','w') 
testing.write(newEpisodeXML) 

Я получаю Внутренняя ошибка сервера (500), и я на Dreamhost VPS. Я уверен, что проблема здесь - это что-то простое, но регистрация на серверах Dreamhost является ужасной, и я не могу понять ее.

URL-адрес ajax является точным. Разрешения 755.

Кто-нибудь знает, если у Dreamhost другие требования к .py файлам, или вы знаете, что может не получиться здесь?

+0

Это ваш весь файл питон? – sberry

+0

Да. Просто пытаюсь установить, что он работает на самом фундаментальном уровне. – Sneagan

+0

Как вы ожидаете, что это сработает? Что такое «self»? – sberry

ответ

3

Похоже, вы пытаетесь заставить Python работать как PHP, но на самом деле это не так, поэтому вы не получите волшебной интерпретации файлов.

Прошло некоторое время с тех пор, как я использовал Dreamhost, но ваш лучший выбор - это, вероятно, написать свой код на Python, а затем позволить ему работать поверх Passenger. Dreamhost имеет некоторые детали реализации здесь http://wiki.dreamhost.com/Passenger_WSGI

Суть в том, что WSGI является общим интерфейсом между веб-серверами и файлами Python, поэтому файлы Python можно запускать по запросу, как вы ожидаете. Но чтобы получить эту функциональность, вам понадобится файл Python для реализации спецификации WSGI. Но не беспокойтесь, это довольно легко. Просто определите функцию с именем application, которая принимает несколько готовых параметров, и все готово.

def application(environ, start_response): 
    start_response('200 OK') 
    return 'Hi there!' 

Это немного сложнее получить в Варс POST и другие вещи, поэтому вы можете рамки, чтобы справиться с некоторыми из этих вещей. Flask делает его очень легким и почти не накладных расходов, но есть много различных рамок, которые вы могли бы попробовать.

+0

Отличный ответ. Огромное спасибо! Я только использовал Python для обработки данных, и я не удивлен, что я не понимаю его реализации здесь. Я рассмотрю его дальше. Спасибо за направление! – Sneagan

0

Вы по-прежнему получаете 500 Internal Server Error на своем сайте? Если да, не стесняйтесь, дайте мне знать, какой сайт он есть, и я попрошу нашу команду посмотреть. Вы всегда можете связаться с нашей службой поддержки напрямую через ссылку «Связаться со службой поддержки» на веб-панели DreamHost. :)

Спасибо,

Ellice S - DreamHost Персонал

+0

Похоже, мне нужно было немного углубиться в реализацию. Спасибо за внимание! – Sneagan

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