1

阿贾克斯代码:

$.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 服务器上的日志记录非常糟糕,我似乎无法弄清楚。

ajax URL 是准确的。权限为 755。

任何人都知道 Dreamhost 是否对 .py 文件有进一步的要求,或者知道这里可能会出现什么问题?

4

2 回答 2

3

似乎您正试图让 Python 像 PHP 一样工作,但它并没有真正做到这一点,因此您不会对文件进行神奇的解释。

自从我使用 Dreamhost 已经有一段时间了,但最好的选择可能是编写 Python 代码,然后让它在Passenger 之上运行。Dreamhost 在这里有一些实现细节http://wiki.dreamhost.com/Passenger_WSGI

要点是 WSGI 是 Web 服务器和 Python 文件之间的通用接口,因此 Python 文件可以根据您的期望运行。但是要获得该功能,您需要您的 Python 文件来实现 WSGI 规范。但别担心,这很容易。只需定义一个名为 application 的函数,它接受一些现成的参数,就完成了。

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

获取 POST vars 和其他东西有点困难,这就是为什么你可能需要一个框架来处理这些东西。Flask 让它变得非常简单并且几乎没有开销,但是您可以尝试许多不同的框架。

于 2013-07-14T04:38:05.557 回答
0

您是否仍然在您的站点上收到 500 内部服务器错误?如果您是,请随时让我知道它是哪个站点,我会让我们的团队来看看。您也可以随时通过 DreamHost 网络面板中的“联系支持”链接直接联系我们的支持团队。:)

谢谢,

Ellice S - DreamHost 员工

于 2013-07-23T21:14:31.797 回答