gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 11:53:09 24 4
gpt4 key购买 nike

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

$.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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com