【发布时间】:2014-07-14 15:45:42
【问题描述】:
我有一个可以在本地服务器上完美运行的金字塔应用程序,但是当我将其移至 Web 服务器 (Dreamhost) 时,我收到以下错误:
400 Bad Request:
Bad request (GET and HEAD requests may not contain a request body)
有问题的代码是 Javascript 中的以下 ajax:
function summary_ajax(sName){
$.ajax({
type: "POST",
url: "summary",
dataType: "json",
data: {
'ccg_name': sName,
},
async: false,
success: function(data) {
//alert("In ajax success function") <----------- This never executes
lValues = data.lValues;
lLabels = data.lLabels;
},
});
};
return (lValues, lLabels);
并在views.py中处理:
@view_config(route_name="ccg_map_summary_ajax",renderer="json")
def ccg_map_summary_ajax(self):
sCCG = self.request.POST.get('ccg_name')
fData = open('pyramidapp/static/view_specific_js/ajax_summary_data.js')
dData = json.load(fData)
lLabels = dData[sCCG].keys()
lValues = dData[sCCG].values()
return {
'lLabels' : lLabels,
'lValues' : lValues,
}
我通过放置alert() 函数进行了一些测试(它很慢,因为服务器每隔这么多分钟才重新加载一次脚本),除了 ajax 调用中的警报之外,一切都执行得很好。因此,似乎要么帖子失败,要么视图出现问题。有什么想法吗?
那么,这段代码中有什么东西可以在我的本地服务器(在 Pyramid 中)工作,但在 Web 服务器(Dreamhost)中出现故障吗?
本地服务器和 Web 服务器中的文件结构相同。我不明白为什么它不应该,但 fData 仍会打开文件进行读取吗?
【问题讨论】:
-
如果您无法访问服务器中的日志,祝您好运。如果问题是一个未处理的异常,您可能能够捕获它并显示它的消息,只需在您的请求处理周围放置一个大的 try-except。
标签: javascript python web-hosting