这肯定已经得到了回答,但是今天我的谷歌权力已经关闭了,而且我一直在努力解决这个问题.我们正在从旧的PHP基础迁移到基于Jersey的JVM堆栈,这将最终提供可以从许多应用程序中使用的基于JSON的RESTful API.到目前为止,情况非常好,我们喜欢简单的POJO到JSON转换.但是,我们正在处理跨域JSON请求中的困难.我们基本上让所有响应返回JSON(使用@Produces("application/json")并将com.sun.jersey.api.json.POJOMappingFeature设置为true)但是对于JSONP支持,我们需要更改我们的方法以返回JSONWithPadding的实例.这当然还要求我们为每个方法添加@QueryParam("callback")参数,这将基本上复制我们的工作,导致需要两个方法来响应相同的数据,具体取决于是否存在回调参数在请求中.显然,这不是我们想要的.
所以我们基本上尝试了几种不同的选择.对泽西岛来说比较新,我相信这个问题已经解决了.我从几个地方读到我可以写一个请求过滤器,或者我可以扩展JSON Provider.我理想的解决方案是对我们的数据或逻辑层没有影响,而是有一些代码说"如果有回调参数,用回调包围JSON,否则只返回JSON".在这里找到了一个解决方案:http: //jersey.576304.n2.nabble.com/JsonP-without-using-JSONWithPadding-td7015082.html
但是,该解决方案扩展了Jackson JSON对象,而不是默认的JSON提供程序.
什么是最佳做法?如果我在正确的轨道上,我可以扩展的默认JSON过滤器的类是什么?是否需要其他配置?我完全偏离了轨道吗?
我刚刚继承了一个主导航菜单目前是Flash的项目.他们问我是否可以将其切换为javascript,所以我同意试一试.导航结构本身在服务器上动态生成,并通过ajax调用选择新节点.返回是所有XML.
为防止初始加载延迟,服务器将xml从当前页面的第一次调用发送到textarea.
Firefox和Chrome可以拉出那个xml并在jQuery中操作它就好了.然而,IE扼杀了.我知道如果没有设置MIME类型IE浏览器效果不好,但由于服务器基本上没有限制,我需要找到解决方法.
存储在textarea中的xml的示例如下:
<nav>
<item name='Link 1' url='http://www.somesite.com' img='/path/to/image.png' />
<item name='Link 2' url='http://www.somesite.com' img='/path/to/image.png' />
</nav>
我使用.val()方法抓取内容,该方法适用于IE以外的所有方法.我已经把头撞了一会儿.有帮助吗?