Angular 2 的 JQuery .param() 方法?

2023-12-27

有没有这样的事情$.param() http://api.jquery.com/jquery.param/Angular2 的 JQuery 函数?

我知道 Angular 1 特别有类似的服务,Angular1 等效项 https://docs.angularjs.org/api/ng/service/%24httpParamSerializerJQLike

我检查了 Angular 2 网站here https://angular.io/docs/ts/latest/guide/server-communication.html#!#send-data-to-the-server他们有一个 POST 演示,但他们在请求正文中发送 JSON。

我当前的无效尝试

saveEdits() {
    let headers = new Headers({ 'Content-Type': 'application/x-www-form-urlencoded' });
    let options = new RequestOptions({ headers: headers });
    this._http.post("ajax/update-thingy", JSON.stringify(this.dataJson), options)
        .map(this.extractData)
        .toPromise()
        .catch(this.handleError);
    // update in Angular 1 using JQuery function
    // $http({
    //     method : 'POST',
    //     url  : 'ajax/update-thingy',
    //     data : $.param($scope.formData),
    //     headers: {'Content-Type': 'application/x-www-form-urlencoded'}
    // }); 
}

extractData(res: Response) {
    let body = res.json();
    if (body === 'failed') {
        body = [];
    }
    return body || [];
}
private handleError(error: any) {
    // In a real world app, we might use a remote logging infrastructure
    // We'd also dig deeper into the error to get a better message
    let errMsg = (error.message) ? error.message :
      error.status ? `${error.status} - ${error.statusText}` : 'Server error';
    console.error(errMsg); // log to console instead

    return Promise.reject(errMsg);
}

或者,如果在我的 Angular2 中使用 JQuery 更容易,也许这是一个可行的方法。

UPDATE

我确实解决了我自己的问题。请看我的回答below https://stackoverflow.com/a/39540320/2593877!


我解决了我自己的问题。

这就是我所做的,我用过URL搜索参数 https://angular.io/docs/ts/latest/api/http/index/URLSearchParams-class.html来自 Angular 2。效果非常好。一点也不复杂并且易于使用。

import { Headers, RequestOptions, Http, URLSearchParams } from '@angular/http';

saveEdits() {
    let headers = new Headers({ 'Content-Type': 'application/x-www-form-urlencoded' });
    let options = new RequestOptions({ headers: headers });
    let params: URLSearchParams = this.serialize(this.myObj);
    this._http.post("ajax/update-thingy", params, options)
        .map(this.extractData)
        .toPromise()
        .catch(this.handleError);
    this.selectedBill = null;
}

serialize(obj: any) {
    let params: URLSearchParams = new URLSearchParams();


    for (var key in obj) {
        if (obj.hasOwnProperty(key)) {
            var element = obj[key];

            params.set(key, element);
        }
    }

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

Angular 2 的 JQuery .param() 方法? 的相关文章

  • JavaScript/JQuery:$(window).resize 如何在调整大小完成后触发?

    我这样使用 JQuery window resize function 然而 如果用户通过拖动窗口边缘使其更大 更小来手动调整浏览器窗口的大小 resize上面的事件会多次触发 问题 如何在浏览器窗口调整大小完成后调用函数 以便事件仅触发一
  • Prototype 和 jQuery 一起?

    我注意到我使用的某个脚本依赖于原型 Lightbox 2 它会与 jQuery 在同一页面上一起工作吗 有没有办法确保它们不发生冲突 你可以 但你需要采取特殊步骤 http docs jquery com Using jQuery with
  • 根据 main.ts 中的 URL 引导多个或单个模块

    我正在使用一个 NET Framework MVC Web项目 该项目无法完全转移到完整的角度项目 因此我无法使用角度的路由来延迟加载 但我也不想加载使用角度组件的所有内容 这是一个企业解决方案 要说 嘿 让我们充分利用 Angular 并
  • 选择变量的嵌套元素 - jQuery

    我希望将变量传递给函数并让函数选择该变量中的元素 我不熟悉这种情况的语法 但是有人可以建议吗 例如 当在容器内单击按钮时 我希望将该容器存储在变量中 好吧 我有那部分 但后来我希望选择该容器中的某个元素 例如 container div e
  • Jquery 组合 SlideUp/Down 并单击

    我创建了两个脚本 其中一个具有向上滑动和向下滑动命令 这些命令在页面加载时作用于计时器 第二个是单击事件 其中单击链接时执行向上 向下滑动命令 这两个脚本都是单独工作的 但我无法让它们一起工作 这是定时向上 向下滑动脚本 document
  • 如何在对话框角度材料内部对齐按钮?

    我想要下面对话框右上角的对齐按钮是我的 html div p What s your favorite animal p div
  • 使用模数按字母顺序对列表进行排序

    我在获取元素列表并按字母顺序对它们进行排序方面没有任何问题 但我很难理解如何使用模数来做到这一点 更新 这是按我的方式工作的代码 但是 我更喜欢下面提供的答案的可重用性 因此接受了该答案
  • PNG 透明度问题 - 带有黑色阴影的褪色图像 - IE 中的边框

    我使用图像旋转器在主页上显示一些图像 所有图像均为 PNG 格式 问题出在 IE 7 8 中 图像旁边有黑色阴影 我花了几个小时来解决这个问题 但仍然不知道问题出在哪里以及如何删除它 没有人有类似的问题和提示吗 如何解决 尝试使用 img
  • 使用 JavaScript 使链接保持活动状态并在单击时显示悬停效果

    I am struggling to make this work I d like to make it where if O F is clicked the hover state stays active if another li
  • ajax推送服务器

    好吧 我最近写了一个ajax推送脚本 其中后端的php在等待某人更新时处于休眠状态 但是休眠的进程占用了大量的cpu 关于如何防止这种情况的任何想法 我猜我必须要么找到一个可以使用线程休眠的程序 要么用我不太熟悉的 python 或 c 编
  • 使用 jQuery/JS 打开时使
    标签的内容具有动画效果

    我只想要 HTML5 的内容details标记为 滑行 动画打开 而不是仅仅弹出打开 立即出现 这可以用 jQuery Javascript 实现吗 Fiddle http jsfiddle net 9h4Hq HTML
  • 如何在 jQuery 中获取 ul 列表中 li 的第一个 href 链接

    我有以下清单 ul class tabs li a href testlink php First link a li li a href testlink2 php Second link a li ul 我想获取第一个链接的 href
  • 在 Wordpress 站点中进行 AJAX 调用时出现问题

    我在使用 Wordpress 站点功能的 AJAX 部分时遇到了一些问题 该功能接受在表单上输入的邮政编码 使用 PHP 函数来查找邮政编码是否引用特定位置并返回到该位置的永久链接 我的第一个问题是关于我构建的表单 现在我的表单操作是空白的
  • jQuery 可以在用户输入数字时添加逗号吗?

    当用户输入数字时 如何动态添加逗号 有没有一个好的数字格式化程序可以提供帮助 我必须稍后添加这些数字 所以我最终必须删除一行中的逗号 但屏幕需要显示逗号以提高可读性 运行代码片段以查看其工作情况 input number keyup fun
  • ajax4jsf死了吗?还有哪些其他适用于 JSF 的 AJAX 库?

    我目前正在使用JBoss RichFaces http www jboss org jbossrichfaces 我正在从事的项目的 JSF 组件库 一般来说 它工作得很好 特别是 ajax4jsf A4J 提供的 AJAX 支持 但我发现
  • 我可以使用 jQuery 打开下拉列表吗

    对于 HTML 中的下拉列表
  • 如何更改此 jquery 插件的时区/时间戳?

    我正在使用这个名为 timeago 的插件 在这里找到 timeago yarp com 它工作得很好 只是它在似乎不同的时区运行 我住在美国东部 费城时区 当我将准确的 EST 时间放入 timeago 插件时 比如 2011 05 28
  • JQuery 图像上传不适用于未来的活动

    我希望我的用户可以通过帖子上传图像 因此 每个回复表单都有一个上传表单 用户可以通过单击上传按钮上传图像 然后单击提交来提交帖子 现在我的上传表单可以上传第一个回复的图像 但第二个回复的上传不起作用 我的提交过程 Ajax 在 php 提交
  • 按 Esc 按键关闭 Ajax Modal 弹出窗口

    我已经使用 Ajax 显示了一个面板弹出窗口 我要做的是当用户按 Esc 键时关闭该窗口 这可能吗 如果有人知道这一点或以前做过这一点 请帮助我 Thanks 通过以下链接 您可以通过按退出按钮轻松关闭窗口 http www codepro
  • 在 ASP.NET Core MVC 中访问从视图到控制器的隐藏值

    我需要帮助使用 jQuery 从 ASP NET Core razor 视图页面传递隐藏控件值 jQuery 用于获取动态控件选定的值 section scripts

随机推荐