datasnap ajax jsonp,有没有办法在Delphi DataSnap REST服务器上使用JSONP?
似乎没有办法使用DataSnap来实现带有Padding的JSONP(JSON)解决方案,但是我想在这里抛出这个问题以防有人解决了这个问题。有没有办法在Delphi DataSnap REST服务器上使用JSONP?
背景:JSONP是一种利用HTML脚本元素的跨站点引用功能来克服XmlHttpRequest类的相同源策略的机制。使用XmlHttpRequest,您只能从HTML文档提供的相同域中获取数据(JSON对象)。但是如果你想从多个站点检索数据并将数据绑定到浏览器中的控件呢?
使用JSONP,脚本元素的src属性不引用JavaScript文件,而是引用Web方法(可驻留在检索到HTML的不同域上的Web方法)。这个Web方法返回JavaScript。
脚本标签假定返回的数据是一个JavaScript文件并正常执行。但是,Web方法实际返回的是以文字JSON对象作为参数的函数调用。假定被调用的函数是被定义的,该函数执行并且可以在JSON对象上运行。例如,该函数可以从JSON对象提取数据并将该数据绑定到当前文档。
JSONP的优缺点已被广泛讨论(它代表了一个非常严重的安全问题),所以在这里没有必要重复说明。
我感兴趣的是如果有人已经找到了如何在Delphi的DataSnap REST服务器上使用JSONP。就像我看到的那样,问题就在这里。一个典型的JSONP使用可能包括脚本标记看起来是这样的:
的的GetData Web方法将返回调用类似如下:
workit({"id": "Delphi Pro", "price":999});
和workit功能可能看起来像这样的:
function workit(obj) {
$("#namediv").val(obj.id);
$("#pricediv").val(obj.price);
}
问题是的DataSnap似乎并不能够返回一个简单的字符串像 的
workit({"id": "Delphi Pro", "price":999});
相反,它被包裹着,像下面这样:
{"result":["workit({\"id\":\"Delphi Pro\",\"price\":999});"]}
很显然,这是不可执行的JavaScript。
任何想法?
+2
这个问题可以降低到“ DataSnap提供了一个过滤器/钩子/事件,它允许在发送给客户端之前修改生成的JSON响应“? –
datasnap ajax jsonp,有没有办法在Delphi DataSnap REST服务器上使用JSONP?相关推荐
- 服务器上iis网站打不开,IIS网站打不开的原因和解决办法
IIS网站打不开的原因和解决办法 一. 为什么IIS中的其中一个"应用程序池"中的所有网站为什么打不开? 有用户问:"为什么其中一个网站所属的"应用程序池&qu ...
- 在ios中无法获取ajax返回数据类型,在iOS10系统中微信后退无法发起ajax请求的问题解决办法...
在iOS10系统中微信后退无法发起ajax请求的问题解决办法 发布时间:2020-08-20 12:18:08 来源:脚本之家 阅读:102 作者:春去秋来情不归 在IOS10的系统中,在微信客户端中 ...
- 前后端交互ajax和axios入门讲解,以及http与服务器基础
ajax和http小白入门,客户端与服务器基础讲解,前后端交互(从入门到实践详细解析) 文章目录 ajax和http小白入门,客户端与服务器基础讲解,前后端交互(从入门到实践详细解析) 前言 一.Aj ...
- Delphi处理高速文件上传下载的代码及思路
Delphi处理高速文件上传下载的代码及思路 上传和下载是一对方向不同的概念,下面对应的客户端和服务器代码:掉个头,它就是下载:再掉个头,它就是上传. 一.思路 1.将大文件:分段(即常说的" ...
- 前端技巧:jsonp跨域请求json文件记录以及百度地图的省份和城市坐标在静态服务器上的处理
目录 省份坐标json 获取省份坐标代码 拓展:获取城市坐标 获取城市坐标代码 自定义jonp及使用 1.用jsonp方式请求静态资源服务器上的json文件 首先将json文件用一个回调函数包裹起来, ...
- 本地xshell损坏了着急拷贝服务器上的大文件怎么办?有办法lrzsz来帮忙
本地xshell损坏了着急拷贝服务器上的大文件怎么办?有办法lrzsz来帮忙 目录 本地xshell损坏了着急拷贝服务器上的大文件怎么办?有办法lrzsz来帮忙 #把服务器的大文件通过sz命令拷贝到本 ...
- 安卓休眠唤醒ajax休线程,休眠无法获得远程服务器上当前线程的事务同步会话...
我在类似问题上阅读了其他答案,但我没有找到解决我的问题的方法.我有一个Tomcat7服务器和一个使用Hibernate连接到我的PostgreSQL远程数据库的Spring应用程序. 我的框架版本: ...
- iis ajax访问html,为什么Ajax脚本不在IIS 7.5 Win 2008 R2服务器上运行?
为什么Ajax脚本不在IIS 7.5 Win 2008 R2服务器上运行? 我有一个Web应用程序在我的开发服务器上的VS 2013上运行良好,但是一旦我在IIS 7.5 2008 R2服务器上发布了 ...
- 计算机上没有信任的用户,服务器上的安全数据库没有此工作站信任关系的计算机帐户 解决办法...
问题: 当Windows 7或者Windows2008加入域后,登陆时出现"服务器上的安全数据库没有此工作站信任关系的计算机帐户",导致无法登陆到域. 解决办法1: 1.用本地管理 ...
最新文章
- EM(期望最大化)算法初步认识
- 《HTTP权威指南》– 8.网关、机器人
- hdu1505 暴力或dp优化
- 2.2.4 RMSprop
- 【任务脚本】0528京东618叠蛋糕任务脚本全自动脚本,京东任务全自动程序稳定运行,向大神致敬...
- TMG学习(四),允许内部网络解析本地主机的Netbiso名称
- Atitit it行业图像处理行业软件行业感到到迷茫的三大原因和解决方案
- python代码中怎么增加数据_python 实现数据库中数据添加、查询与更新的示例代码...
- 【python】匿名函数与装饰器
- 看看ConcurrentLinkedQueue源码 in Java 9
- 计算机组成原理课程要求及目的,《计算机组成原理》课程教学大纲
- SQL SERVER 获得当前系统时间
- javaWeb毕业设计项目完整源码附带论文合集免费下载
- 计算机编程培训莱阳,莱阳数控编程培训班
- CAD2008 启动慢 卡住
- LinuxMint 桌面美化
- ARM架构Generic Interrupt Controller(GIC)详解之术语介绍
- 基于Xposed框架截取安卓手机应用数据信息
- matlab注释分析高斯混合模型
- xshell用rz上传文件,彻底解决乱码
热门文章
- NoSuchElementException
- 22--删除字符串中的所有相邻重复项
- linux初始化内存盘卡住,Linux系统内存磁盘初始化技术详细解析
- models.ForeignKey( ,on_delete=models.CASCADE) # 关联外键
- Hbase2.0版本安装教程
- Hive安装报错:Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient的解决办法
- 关于用VS写C程序运行时出现烫字以及乱码的问题的原因
- ideaspringboot项目上传服务器_PHP中使用 TUS 协议来实现可恢复文件上传
- 华为手机怎么设置应用不全屏显示_手机投屏智能电视画面比例不合适怎么办?...
- linux上安装fio教程,fio工具安装及使用