如何发出 jsonp 请求

2024-02-24

我需要做一些跨站点脚本编写。下面的代码块包含 jsonp 的方法,该方法就像失败一样返回,但是当我将其更改为 get 请求时,我就成功了。我需要能够使用 jsonp 方法成功响应。可以排除以下情况。响应是有效的 json,并且此参数位于 url ?callback=JSON_CALLBACK 中。这是我通过执行 http 请求收到的 json 以及执行此代码的代码块。

http响应状态码200

[{"cube":"1" ,"points":"160"},{"cube":"2","points":"690"},{"cube":"3","points":"331"}]

代码块

 var myApp = angular.module('test', []);

    myApp.controller('UserCtrl', function($scope, users) {
        $scope.usersPerCube = users.getUsers();
    })

    myApp.factory('users', function($http) {
       return {
         getUsers: function() {
           var deferred = $q.defer();
           var url = "http://localhost/api/api/index.php/analytics/UsersPerCube?callback=JSON_CALLBACK";
         $http.get(url).success(function (data, status, headers, config) {
                console.log(data);
                deferred.resolve(data);
            }).error(function (data, status, headers, config) {
                //this always gets called
                console.log(status);
                deferred.reject(status);
            });
            return deferred.promise;

     }
   }

请注意,我已经编辑了服务器端代码,现在收到

"angular.callbacks._1( {"cube":"1","points":"160"},{"cube":"2","points":"690"},{"cube":"3","points":"331"})"

UPDATE


我决定详细描述如何做jsonp http://en.wikipedia.org/wiki/JSONP请求,这样其他人就不会遇到和我一样的麻烦。

myApp.factory('users', function($http) {
       return {
         getUsers: function() {
           var deferred = $q.defer();
           var url = "http://localhost/api/api/index.php/analytics/UsersPerCube?callback=JSON_CALLBACK";
         $http.get(url).success(function (data, status, headers, config) {
                console.log(data);
                deferred.resolve(data);
            }).error(function (data, status, headers, config) {
                //this always gets called
                console.log(status);
                deferred.reject(status);
            });
            return deferred.promise;

     }  

请注意,该 url 包含?callback=JSON_CALLBACK. 这是一个很好的 stackoverflow。 https://stackoverflow.com/questions/12066002/parsing-jsonp-http-jsonp-response-in-angular-js收到响应后,您将收到如下所示的 json。

"angular.callbacks._1( {"cube":"1","points":"160"},{"cube":"2","points":"690"},{"cube":"3","points":"331"})"

这是关于该主题的一个很好的 stackoverflow https://stackoverflow.com/questions/16344933/angularjs-jsonp-not-working

现在让我困惑的是服务器必须返回GET param, callback。这是一个很好的教程。http://niryariv.wordpress.com/2009/05/05/jsonp-quickly/ http://niryariv.wordpress.com/2009/05/05/jsonp-quickly/所以 json 看起来就像上面的那样。

好吧,我希望这对将来的人有帮助。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何发出 jsonp 请求 的相关文章

  • 如何重置使用 JavaScript 更改的 CSS 属性?

    我的导航按钮的宽度从 100px 增加到 150px 当鼠标悬停在 nav li hover width 150px 但是使用 javascript 我已经做到了 无论选择哪个选项 宽度都将继续为 150px 当选择每个选项时 它会使其他选
  • 使用 Angular 下载具有动态 src 的脚本

    Angular 提供了通过动态名称动态加载模板的方法ng include 该部分中的内联 JS 和 CSS 可以正常加载 但没有一个好的方法来下载带有动态 url 的脚本 我们需要下载脚本 相对于调用它们的 html 部分的路径 即我们有一
  • 可以使用 jQuery 或 Javascript 将图片的特定部分用作链接吗?

    我有这个想法 将图片 而不是文本 的各个部分链接到不同的页面或网站 并且我想在不实际创建不同的照片并将它们彼此靠近的情况下完成 这样看起来就像是一张完整的图片 这里有人知道如何使用 JavaScript 的变体 例如 jQuery 或纯 J
  • Node.js:如何在检索数据(块)时关闭响应/请求

    我正在用 node js 构建一个应用程序 它加载多个页面并分析内容 因为 node js 发送块 所以我可以分析这些块 如果一个块包含例如索引 nofollow 我想关闭该连接并继续其余部分 var host example com to
  • JavaScript 重定向到新窗口

    我有以下代码 它根据下拉列表的值重定向到页面 我如何使其在新窗口中打开 function goto form var index form select selectedIndex if form select options index
  • 跟踪用户何时点击浏览器上的后退按钮

    是否可以检测用户何时单击浏览器的后退按钮 我有一个 Ajax 应用程序 如果我可以检测到用户何时单击后退按钮 我可以显示适当的数据 任何使用 PHP JavaScript 的解决方案都是优选的 任何语言的解决方案都可以 只需要我可以翻译成
  • 将函数传递给指令以在链接中执行的正确方法

    我知道我们通常通过隔离范围将函数传递给指令 directive myComponent function return scope foo 然后在模板中我们可以这样调用这个函数
  • 在 webpack 2.x 中使用 autoprefixer 和 postcss

    如何使用autoprefixer使用 webpack 2 x 以前 它曾经是这样的 module loaders test scss loader style css sass postcss postcss gt return autop
  • 使用 Newtonsoft 和 C# 反序列化嵌套 JSON

    我正在尝试解析来自 Rest API 的 Json 响应 我可以获得很好的响应并创建了一些类模型 我正在使用 Newtonsoft 的 Json Net 我的响应中不断收到空值 并且不确定我的模型设置是否正确或缺少某些内容 例如 我想要获取
  • 动态img(或视频)标签根本不加载资源,HTTP请求处于“待处理”状态

    我尝试使用以下方法在 Web 应用程序上加载资源时遇到一些问题img or videoHTML 标签 我在我的应用程序中使用 Angular 并动态设置src的参数img标签 使用ng src src 指示 没有那么多图像和资源需要加载 在
  • Angular 2+ 安全性;保护服务器上的延迟加载模块

    我有一个 Angular 2 应用程序 用户可以在其中输入个人数据 该数据在应用程序的另一部分进行分析 该部分仅适用于具有特定权限的人员 问题是我们不想让未经授权的人知道how我们正在分析这些数据 因此 如果他们能够在应用程序中查看模板 那
  • Laravel 中只向登录用户显示按钮

    如果我以 John 身份登录 如何才能只显示 John 的红色按钮而不显示 Susan 的红色按钮 测试系统环境 Win10 Laravel5 4 Mysql5 7 19 table class table table responsive
  • 为 illustrator 导出脚本以保存为 web jpg

    任何人都可以帮我为 illustrator CC2017 编写一个脚本 将文件以 JPG 格式导出到网络 旧版 然后保存文件并关闭 我有 700 个文件 每个文件有 2 个画板 单击 文件 gt 导出 gt 另存为 Web 旧版 然后右键文
  • 有没有办法阻止 prettier / prettier-now 将函数参数分解为新行

    当使用 prettier prettier now 在保存时进行格式化时 当一个函数包装另一个函数时 它会中断到一个新行 我想知道是否有办法阻止这种行为 例如 期望的输出 app get campgrounds id catchAsync
  • Javascript转换时区问题

    我在转换当前时区的日期时间时遇到问题 我从服务器收到此日期字符串 格式为 2015 10 09T08 00 00 这是中部时间 但是当我使用 GMT 5 中的 new Date strDate 转换此日期时间时 它返回给我的信息如下 这是不
  • Safari 支持 JavaScript window.onerror 吗?

    我有一个附加到 window onerror 的函数 window onerror function errorMsg url line window alert asdf 这在 firefox chrome 和 IE 中工作正常 但在 s
  • 如何更改此 jquery 插件的时区/时间戳?

    我正在使用这个名为 timeago 的插件 在这里找到 timeago yarp com 它工作得很好 只是它在似乎不同的时区运行 我住在美国东部 费城时区 当我将准确的 EST 时间放入 timeago 插件时 比如 2011 05 28
  • 在 Android 应用程序资源中使用 JSON 文件

    假设我的应用程序的原始资源文件夹中有一个包含 JSON 内容的文件 我如何将其读入应用程序 以便我可以解析 JSON See 开放原始资源 http developer android com reference android conte
  • 如何在 AngularJS 循环内使用标签

    所以我在里面ng repeat像这样 li li
  • fullCalendar 未显示正确的结束日期

    我正在看调试页面 http jsbin com wukofacaxu edit js outputFullCalendar 官方网站的 我想安排一个活动时间为 22 09 2015 至 30 09 2015 dd mm yyyy 但它只显示

随机推荐

  • 使用 iText pdfHTML 的 PDF 页面大小和格式

    我正在尝试使用 iText7 1 0 和 pdfHTML2 0 0 将 3 个 HTML 页面 均具有相同内容 导出为 PDF这个例子 https developers itextpdf com content itext 7 conver
  • 从 Python 中的“enchant suggest()”获取最相关的单词(拼写检查)

    我想从中获取最相关的单词enchant suggest 有没有更好的方法来做到这一点 我觉得我的函数在检查 100k 或更多范围内的大量单词时效率不高 有问题enchant suggest gt gt gt import enchant g
  • 如何在 Outlook 中添加默认签名

    我正在 Access 中编写一个 VBA 脚本 用于创建并自动填充几十封电子邮件 到目前为止 编码很顺利 但我是 Outlook 新手 创建 mailitem 对象后 如何将默认签名添加到电子邮件中 这将是创建新电子邮件时自动添加的默认签名
  • 如何处理 data.table 中的列表列

    在合并数据的过程中 我经常会得到列表列 例如 左表中的一行在右表中有多个匹配项 让我们定义一下 DT data table x list c 1 2 c 3 4 5 y list c T T c T F T z c 1 2 N c 1L 2
  • 让 javaFX 11 应用程序在 docker 上运行

    我正在尝试让一个在我的机器上完美运行的应用程序在 docker 上运行 这是我的 docker 文件 FROM openjdk 11 jre slim VOLUME tmp ADD someJar jar someJar jar ADD l
  • 如何在 @code 块内编写 Blazor HTML 代码?

    如何在 Blazor 内部的函数中编写 Blazor HTML 代码 code block 考虑以下代码 page Test if option 1 drawSomething Something else drawSomething So
  • 如何获取表单的截图

    有什么方法可以输出活动表单的屏幕截图吗 NET 支持的更简单的答案 控件 DrawToBitmap http msdn microsoft com en us library system windows forms control dra
  • 您可以动态地将 CFBundleDocumentTypes 分配给您的 Cocoa 应用程序吗?

    您可以动态地将 CFBundleDocumentTypes 分配给您的 Cocoa 应用程序吗 这意味着在运行时我可以为我的应用程序分配更多扩展来处理 目前 我为我的应用程序设置了一些扩展来处理 Info plist 中的 CFBundle
  • PhpStorm:满足前提条件时如何处理未处理的异常

    我真的很喜欢 PhpStorm 检查工具 他们帮助我编写了更好的代码 现在我遇到了以下情况 我问自己处理这种情况的最佳方法是什么 我有一个带有一些前提条件的函数 f 例如下面的代码 param int x throws Preconditi
  • 从nodejs中的vtt文件中获取所有提示及其属性

    比如说 我有一个 vtt 文件 我想从中获取 Nodejs 环境中的所有提示及其相关属性 例如 startTime endTime 等 我已经搜索了我能想到的所有关键字 例如 通过 javascript 解析 vtt 文件 但结果都是关于m
  • SQL 和 PHP - mysql_num_rows() 或 'select count()' 哪个更快?

    我只是想知道如果我只是想获取表中的行数 哪种方法最有效 res mysql query SELECT count as number FROM table1 count mysql fetch result res 0 number or
  • 从两个列表中查找共同元素

    我有两个包含一些 3D 坐标的列表 如下所示 例如 a 1 2 3 4 5 6 4 2 3 b 0 11 22 3 12 34 6 41 2 34 198 213 536 1198 1123 1156 b 1 11 22 3 42 25 6
  • 为什么Anaconda不建议设置path环境变量

    Anaconda3 5 3 0 64bit 在安装过程中 我选中了在 PATH 环境变量中添加 Anaconda 的选项 那么它不建议我这样做 它说 相反 请使用 Windows 开始 菜单打开 Anaconda 然后选择 Anaconda
  • 有没有一种方法可以使用 Sorbet 而无需在每个文件中添加 # 类型注释?

    我想开始在 Ruby on Rails 项目中使用 Sorbet 但系统要求我不要向每个文件添加类型注释 有没有办法在不添加注释的情况下使用Sorbet 冰糕支持 typed override您可以为 sorbet 提供一个 YAML 文件
  • Git:如何重写远程历史记录?

    一位同事意外提交了一个大型二进制文件 该文件与源代码管理无关 从而导致存储库异常大 然后 他将此提交推送到公共服务器 从那时起 就有了许多其他提交和推送 我正在寻找一种方法来撤消该提交 或者只是从远程删除二进制文件 以便存储库恢复其通常的大
  • 没有匹配的函数可用于调用“ ”

    我被要求实现该功能 static double distanta const Complex const Complex 返回两个复数之间的距离 函数的定义位于 Complex 类内部 我已经这样实现了 double Complex dis
  • 有谁知道 LocationManager 上的 Android addProximityAlert 是否耗电

    我基本上只是想添加大约 20 个 有时是 80 个接近警报 且半径约为 500 米 且没有时间限制 只是想知道这样做是否会很快耗尽电池电量 减小半径也会有什么不同吗 这肯定会很快耗尽你的电池 在任何情况下 您都不想设置超过几个接近警报 您描
  • 在自定义AuthorizeAttribute中获取Post请求参数

    我在用this https stackoverflow com a 19050773 384554从输入流中获取请求参数 POST 在请求正文中使用 JSON 在我的onAuthorize被覆盖的函数AuthorizeAttribute 它
  • 与证书作斗争:私钥未成功获取访问权限

    我在为开发人员提供许多服务器和个人电脑的公司工作 服务器是win2003 开发PC是Windows XP 在名为 preiis01 的服务器 Win2003 中 在预生产环境中 公司其他人使用任何其他用户 对我来说未知用户 安装客户端证书用
  • 如何发出 jsonp 请求

    我需要做一些跨站点脚本编写 下面的代码块包含 jsonp 的方法 该方法就像失败一样返回 但是当我将其更改为 get 请求时 我就成功了 我需要能够使用 jsonp 方法成功响应 可以排除以下情况 响应是有效的 json 并且此参数位于 u