gpt4 book ai didi

angularjs - Pyramid Framework 不允许 AngularJS 的 JSONP 回调格式

转载 作者:行者123 更新时间:2023-12-03 22:27:36 25 4
gpt4 key购买 nike

Pyramid 网络框架不允许 AngularJS JSONP 回调,因为较新的版本(在 1.5.3 中工作,在 1.5.6 中失败)抛出错误“400 JSONP 回调函数名称无效”。当与 AngularJS (V1.2.28) 一起使用时,它会像这样传递回调: ptth://example/?callback=angular.callbacks._0

什么是解决方法?

在 AngularJS(不允许更改回调结构)或 Pyramid 方面似乎没有好的选择来解决这个问题。

https://pyramid.readthedocs.org/en/master/_modules/pyramid/renderers.html
JSONP_VALID_CALLBACK = re.compile(r"^[a-zA-Z_$][0-9a-zA-Z_$]+$")

from pyramid.renderers import JSONP
config.add_renderer('jsonp',JSONP(param_name='callback'))

https://github.com/Pylons/pyramid/issues/1644

最佳答案

看起来 Pyramid 中的正则表达式不允许在回调名称中使用点 (.):

JSONP_VALID_CALLBACK = re.compile(r"^[a-zA-Z_$][0-9a-zA-Z_$]+$")

对此的解决方法是将 pyramid.renderers.JSONP 子类化,覆盖其 __call__方法并使其使用更正的正则表达式。然后您可以使用 pyramid.config.Configurator.add_renderer 注册您的自定义渲染器并使用它代替 Pyramid 的内置渲染器。

当 Pyramid 中的问题得到解决时,您只需删除您的子类并使用库存 Pyramid 渲染器。很高兴您提交错误报告:)

关于angularjs - Pyramid Framework 不允许 AngularJS 的 JSONP 回调格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29818947/

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