根据我的理解,JSONP只能使用GET动词来实现.假设这是我认为的那样,那么这就排除了对真正REST的核心遵从性,你应该在其中使用不同的动词,即GET,PUT,POST,DELETE等……用于不同的和特定的目的.
我的问题是,如果我要说允许使用get请求使用JSONP服务更新和删除资源,我可能遇到什么样的障碍.
是否更好的做法是提供JSON服务并声明用户需要服务器端代理才能使用JavaScript XDomain?
干杯,
安德鲁
From my understanding JSONP can only be achieved using the GET verb.
是.
幸运的是,简单的幂等信息GET请求是跨域JSON的最常见用例.
this rules out core compliance with true REST in which you should make use of different verbs i.e. GET,DELETE etc
是.
我并不太担心“遵守”REST作为抽象标准,但如果流浪,可泄漏,可缓存的GET请求可能会意外地产生副作用,那么这是一个真正的问题.
您可以使用一些策略来降低此类问题的可能性,例如要求每个API用户和/或一次性使用提交密钥作为参数以允许该操作继续进行.如果您允许通过JSONP对API进行写访问,那么无论如何都需要考虑这种事情,以防止XSRF攻击.