javascript - Web2py 在本地和在线版本上请求不同的行为(服务器代码执行,但返回 404 错误)

标签 javascript ajax web2py

在我的本地版本的应用程序上,使用以下代码发出请求,在服务器上执行代码,成功返回。

$.ajax({
 type: 'POST',
 url: "{{=URL('default', 'serverFunction.json')}}",
 data: {id: id}
}); 

但是,如果我像这样发出请求(在 serverFunction 之后没有'.json')

$.ajax({
 type: 'POST',
 url: "{{=URL('default', 'serverFunction')}}",
 data: {id: id}
}); 

服务器代码执行,但返回 404 错误。

在在线版本中,它在两种情况下都返回 404 错误,执行服务器代码。

最佳答案

假设 serverFunction 返回一个字典,默认情况下 web2py 将查找关联的/views/default/serverFunction.json View 。如果它不存在,它可能会使用/views/generic.json View ,但默认情况下禁用通用 View 。脚手架应用程序包括以下行:

response.generic_patterns = ['*'] if request.is_local else []

只为本地请求启用通用 View 。这可能就是为什么您的 .json 请求在本地有效但在远程无效的原因。如果你想使用 generic.json View ,在 serverFunction 函数中,你可以简单地包括:

response.generic_patterns = ['json']

或:

response.view = 'generic.json'

目前还不清楚为什么没有 .json 扩展名的本地请求会出现 404 错误——必须查看更多代码才能解决这个问题。

关于javascript - Web2py 在本地和在线版本上请求不同的行为(服务器代码执行,但返回 404 错误),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38870171/

相关文章:

javascript - Angular : Where to put reusable configuration

javascript - 语法错误: Import React from 'react' Unexpected identifier

Android - Ajax 样式自动检查用户名可用性

javascript - 如何使用 AJAX 在 fullcalendar 中克隆事件后更新数据库

web2py - web2py 中的登录后重定向

python - 在 web2py 中,如何在图像映射中使用执行函数的回调参数?

javascript - Chart.js:如何让 x 轴标签显示在条形图中的条形顶部

javascript - 获取字符串的前两位,支持负数 'numbers'

javascript - 如何限制通过ajax发布的JS对象

python - Google App Engine 适合我吗?