如何在 AngularJS 中插入命令或阻止 $http 的 JSONP 自动解析?

2024-04-27

似乎我发现的关于 $http 或 angularjs 的几乎每个问题或解释通常都假设您可以修改请求的响应。我不能这样做,而且我得到的响应格式错误(根据 AngularJS 解析器)。它的格式错误一致,因此我可以在解析纯文本之前修改它来解决问题,但是响应拦截器和转换响应函数都会在默认(基于内容类型?)解析之后发生。

Edit:问题在于,我需要使用 JSONP 方法从另一个站点请求信息,但数据没有预期的 JSONP 回调(我仍然不确定它是否是基于浏览器的)内容或 AngularJS 代码)抛出语法错误。

新问题:有人知道解决这个问题的方法吗?


这已经过测试并且确实有效。如果您还有任何疑问,请告诉我。http://jsfiddle.net/modern Degree/Kn3Tc/ http://jsfiddle.net/moderndegree/Kn3Tc/

HTML

<div ng-app="myApp">
    <div ng-controller="myController">
        {{results.tada}}
    </div>
</div>

JavaScript

angular.module('myApp', ['ngResource']).
factory('myService', function($http, $resource, $log){
    return $resource('/', {}, {
        get: {
            method: 'GET',
            // placed custom transform ahead of $http default
            transformRequest: [function(data, headersGetter){
                $log.info(data);
                $log.info(headersGetter());
            }].concat($http.defaults.transformRequest),
            // placed custom transform ahead of $http default
            transformResponse: [function (data, headersGetter) {
                $log.info(data);
                $log.info(headersGetter());
                data = {tada:"Check your console"};
                return data;
            }].concat($http.defaults.transformResponse)
        }
    });
}).
controller('myController', function(myService, $scope) {
    $scope.results = myService.get();
});

Update要使用JSONP,只需将方法切换为JSONP即可。您可以阅读有关 ngResource 的更多信息here https://docs.angularjs.org/api/ngResource/service/%24resource.

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

如何在 AngularJS 中插入命令或阻止 $http 的 JSONP 自动解析? 的相关文章

  • 将键值对添加到数组中的所有对象

    我想向数组中的所有对象添加一个键 值参数 eg var arrOfObj name eve name john name jane 现在我想向所有对象添加一个新参数 isActive 以便生成的数组如下所示 eg name eve isAc
  • 类型错误:无法读取未定义的属性“存在”

    我正在尝试为 jsx 文件编写一个测试用例 在此我能够传递 proptypes 但不是我正确传递 proptypes 的地方 当我运行测试用例时出现错误 下面提供我的错误 测试用例和代码 类型错误 无法读取未定义的属性 存在 不知道如何让它
  • 当 querySelectorAll 在不使用库的情况下不可用时,按属性获取元素?

    p 你怎样才能做到相当于 document querySelectorAll data foo where 查询选择器全部 https developer mozilla org en DOM Document querySelectorA
  • JavaScript 中最大长度的正则表达式

    如何限制与正则表达式匹配的字符串的长度 我假设var sixCharsRegEx 6 7 只匹配长度为 6 或 7 的字符串 but no http jsfiddle net FEXbB http jsfiddle net FEXbB 我缺
  • 如何在 React JS 组件中预加载图像?

    我目前正在渲染一个子组件signInError发生 这signInError存储在父组件中 如果不为 null 则渲染
  • JQuery:检查元素是否处于正常流程中

    使用 jQuery 检查元素是否在正常流程中的最优雅的方法是什么 根据CSS3规范 http www w3 org TR css3 box 如果满足以下条件 则框属于流 其 display 的使用值为 block list item tab
  • 通过 JavaScript 获取页面/iframe 的编码

    我想通过 JavaScript 或浏览器中的其他一些 API 以编程方式确定页面的编码 我想要这些信息的原因是因为我试图对主要浏览器支持的字符编码进行模糊测试 显然仅仅因为我发送了适当的 内容类型 并不意味着浏览器会使用编码做正确的事情 欢
  • jQuery:评估 ajax 响应中的脚本

    来自我的 web 应用程序的 XML 响应既有要添加到页面的 HTML 也有要运行的脚本 我正在尝试从我的网络应用程序发回 XML 例如
  • 获取 Html.TextBoxFor 字段的 HTML id

    有没有办法在 Javascript 中获取 ASP NET MVC 控件生成的客户端 ID Html TextBoxFor m gt m Name 像这样 Html IdFor m gt m Name
  • Firefox:按下鼠标按钮时鼠标悬停不起作用

    这是我想做的 https gfycat com ValidEmbarrassedHochstettersfrog https gfycat com ValidEmbarrassedHochstettersfrog 我想强调一些 td 对象在
  • 解决多个 jQuery 文件之间的冲突

    我的项目中有多个 jquery 文件 我正在使用jquery1 4 2使用facebox 但我也需要原型和scriptacolous脚本 我用过 jQuery noconflict 在我的代码中 但它不起作用 这是网址http mlep c
  • 将 AngularJS 应用程序部署到普通 Apache HTTP 服务器是一种常见的选择吗?

    我很好奇 AngularJS 应用程序通常部署到什么样的服务器上 Google 没有给出令人满意的答案 特别是 在我看来 AngularJS 应用程序只是静态文件的集合 因此在生产中将这样的应用程序部署到普通 Apache HTTP 服务器
  • 使用“onclick”和 JavaScript 获取按钮上的 X/Y 坐标

    我是一名 JavaScript 初学者 正在寻找一种方法来获取单击按钮时的 x 和 y 坐标 这适用于 Opera IE9 和 Chrome 但我无法让它在 Firefox 中工作 到目前为止 这是我的代码 JavaScript 中的函数
  • Nodejs Base64 中的读取文件

    我正在尝试从客户端读取以 base64 编码的图像 如何使用nodejs进行阅读 My code add to buffer base64 image var encondedImage new Buffer image name base
  • 来自 geoJSON 的 Google 地图航点

    我想从 geoJSON 文件加载行程 目前来说 它是有效的 但只有两点 但我需要添加 4 或 5 个航路点 我的代码只读取前两个点并将它们设置为起点和目的地 这是我的代码 google maps event addListener map
  • 所有人共享的 First Load JS 在 next.js 中相当重

    I have a project on Next js framework and the problem is that First Load JS shared by all pages is rather heavy I want t
  • XHR 调用是宏任务还是微任务?

    Ajax 调用被安排为微任务还是宏任务 浏览器之间有什么区别吗 在 JavaScript Ninja 的秘密 第二版一书中 作者指出网络事件被安排为宏任务 因此 XHR 回调与宏任务一起排队
  • AngularJS + Laravel 5 身份验证

    在使用 AngularJS 构建 SPA 时 我想在 AngularJS 网站中实现用户身份验证 但是 我不知道从哪里开始以及最佳实践是什么 基本上我有一个确定可以担任一个或多个角色 我寻找了一些例子 这样我就可以对如何正确处理这个问题有一
  • 让 hashchange 事件在所有浏览器(包括 IE7)中工作

    我有一些代码 由另一位开发人员编写 在 WordPress 内部进行 AJAX 页面加载 例如 没有页面重新加载 当您单击导航项时 AJAX 会刷新主要内容区域 我的问题是它在 IE7 中被破坏了 我不知道从哪里开始调试 最初的开场白是 v
  • .js.erb VS .js

    将 Rails 应用程序的 javascript 放入 js erb 文件而不只是将其放入 application js 文件有什么好处 我有一个企业创建按钮 因此我应该将代码放入 create js erb 文件中 还是使用以下方法将其放

随机推荐

  • Sitecore Workbox,显示名称的项目字段?

    默认情况下 Sitecore 工作箱显示项目名称 我想显示 标题 字段 自定义字段 我怎样才能做到这一点 我有一个类似的要求 客户需要 Workbox 显示项目的 路径 而不是其名称 问题是他们的许多物品具有相同的名称 因此很难区分物品 不
  • 在Java程序中打开Windows虚拟键盘

    我想在按钮中创建一个事件 当我单击按钮时 我想打开 Windows 虚拟键盘 你能帮我看一下代码吗 谢谢您的合作 此致 您可以使用 getRuntime 来执行它 import java io IOException public clas
  • 用于解析文件( csv )并逐行处理的 Shell 脚本[重复]

    这个问题在这里已经有答案了 您好 需要一个 shell 脚本来解析 csv 文件 逐行解析 然后逐个字段 该文件将如下所示 X1 X2 X3 X4 Y1 Y2 Y3 Y4 我需要提取这些 X1 X2 我写了一个脚本 但如果行超过一行 它就会
  • 安全规则仅允许具有经过验证的电子邮件的用户进行写入

    我有非常简单的写入安全规则 应该只允许具有经过验证的电子邮件的用户写入数据 someNode write auth token emailVerified true 由于某种原因 我仍然在具有特定用户令牌的模拟器中和在具有同一用户的应用程序
  • 在 Express + NodeJS 应用程序的控制器中使用 ES6 类或对象文字

    有两件事我很困惑 使用任何 ES6 类或对象文字的优点是什么 我应该在哪里使用它们 下面提到了我正在尝试的一些示例 请让我知道何时使用特定的实现方式 何时不使用 类例1 auth js class Auth login req res si
  • 使用嵌套对象进行 Hapi/Joi 验证

    我对我的其中一条路线进行了以下验证 payload keywordGroups Joi array items Joi object keys language Joi string required containsAny Joi arr
  • 从一个 Nodejs 应用程序调用另一个 Nodejs 应用程序中的 API 的方法

    我们的应用程序将有一个网站和一个移动应用程序 两者都与同一个 API 后端进行通信 我有一个仅提供 API 服务的 Nodejs 应用程序 还有一个为网站提供 html 页面服务的 Nodejs 应用程序 我正在为这两个应用程序使用 Exp
  • 指向基类的基本多态指针

    虽然我已经在 C 领域工作了一段时间 但直到现在我才需要使用多态特性 而且我对它们非常感兴趣 如果我有一个基类ClassA和另一个ClassB从中衍生出来 我明白我可以拥有virtual中的成员函数ClassA即 当实施于ClassB 将被
  • 如何将带有子查询的 JPQL 转换为 Criteria API 等效项?

    有一个由 5 个实体组成的简单对象模型 Company 组织 Address Club Group 公司与单个组织相关联 团体和俱乐部也与单个组织相关联 它们是单向的 这意味着组织不包含对其所有者的引用 一个组织可以有 0 个或多个地址 子
  • python3导入找不到模块

    我正在尝试测试书中的一个例子 我得到了一个ImportError 该示例开始如下 from tkinter import from PP4E Gui Tools widgets import frame button entry 如果我放一
  • 如何使用 Android Studio 调试器后退一行代码

    我是调试器的新手 当我跨过一行代码时 我想知道如何后退 现在我意识到代码不能向后执行 如果我想退回到旧行 是否必须重新启动调试活动 另外 如果您不介意的话 强制步入命令是什么 不要认为这是可能的 Android 的工作方式与所有其他调试器一
  • java 对字母数字字符串进行排序

    我有这个数组存储用户添加的一些 URL 的后缀 U2 U3 U1 U5 U8 U4 U7 U6 当我这样做时 for Map
  • 调用程序中对库类成员的未定义引用错误

    下面添加了其他问题 2011 年 4 月 11 日 我正在用 C 开发一组跨平台的共享库 DLL Sos 和测试程序 尽管我必须能够支持 C 这些库将仅作为目标代码发布 但测试程序将随源代码一起发布 因此我们的客户可以获得示例代码 因此 我
  • 使用 Go 解组嵌套 xml

    我有以下代码片段 我一直在努力让它工作 我到处寻找解决方案 但我找到的解决方案似乎都不起作用 我的映射似乎有问题xml Unmarshal命令 因为它涉及嵌套字段 下面的代码用于检索第一个被称为的值unit 并且位于 xml 代码的顶层 另
  • WPF 进度条动画速度

    我注意到 WPF 进度栏和 WinForms 进度栏完全填满所需的时间存在差异 完全填充 就像在 Form 和 WPF 中将值设置为 100 一样 我们可以注意到 WinForms 平滑地填充栏 而 WPF 立即填充它 我想知道是否有一个属
  • 如何摆脱“Google 地图方向服务”标记?

    谷歌地图Direction ServiceApi有两个 副作用 1 它添加了Markers自动到达出发地和目的地 2 它增加了两个InfoWindow到新的Markers 包含他们的地址 知道如何摆脱这些标记及其信息气泡吗 添加suppre
  • QSpinBox 具有用于十六进制输入的 Unsigned Int

    这里写了很多关于 QSpinBox 使用 int 作为其数据类型的限制的问题 人们通常希望显示更大的数字 就我而言 我希望能够以十六进制显示无符号 32 位整数 这意味着我希望我的范围为 0x0 0xFFFFFFFF 正常的 QSpinBo
  • 如何使用 Dapper 将字符串作为 NULL 发送到 SQLServer?

    我有一个场景 C 中的字符串可以是null 我需要它是NULL在 SQL Server 上 我使用 Dapper 将其发送到 SQLServer 查询如下 connection Query
  • 面向 Clojure 用户的 Java

    我一直在断断续续地使用 Lisp 并且正在赶上 clojure clojure的好处是我可以自然地使用所有的java函数 而clojure的坏处也是我必须自然地了解java函数 例如 我不得不花一些时间 谷歌搜索 来查找 Java 中的平方
  • 如何在 AngularJS 中插入命令或阻止 $http 的 JSONP 自动解析?

    似乎我发现的关于 http 或 angularjs 的几乎每个问题或解释通常都假设您可以修改请求的响应 我不能这样做 而且我得到的响应格式错误 根据 AngularJS 解析器 它的格式错误一致 因此我可以在解析纯文本之前修改它来解决问题