jQ 基础取值问题, 如果用 Angular 呢? 哪个效率更高?

发布于 2022-09-12 04:43:32 字数 815 浏览 18 评论 0

如下结构是请求后台,打印出的 res 返回数据,JQ如何取出 token 的值 ?
如果用 Angular做呢 ? 哪个效率高

image

function myFunction(){
            $.ajax({
                url : 'http://49.233.117.26/api/3.8/auth/signin',
                headers: {'content-type': 'text/xml'},
                data:'<tsRequest>' + '<credentials name="admin" password="admin" >' +
                    '<site contentUrl=""/>' + '</credentials>' + '</tsRequest>',
                type : 'post',
                crossDomain: true,
                   async : false,
                cache : false,
                success : function (res){
                    console.log(res);
                    // 取值部分


                }
        });

}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

妥活 2022-09-19 04:43:32

答案是一样高,不过 jQuery 的代码可以短很多:

$(XML片段字符串).find('credentials').attr('token');

这其实是利用了 XML 的结构与 HTML 高度类似的特点,把 XMLHTML 来解析。
官方的解析方法是把 XMLXMLDocument 来解析, jQuery 貌似有 XML 相关的 API ,但是没认真学过 jQuery所以不记得了。
现代框架基本都不考虑 XML 了,如果没有现成的 jQuery 的话,就直接适使用 DOM 接口:

const parser = new DOMParser();
const frag = parser.parseFromString(XMLString, 'text/xml');
const tocken = frag.querySelector('credentials').getAttribute('token');

jQuery 估计也是这么做的,但是代码明显短很多。


按道理说 res 应该已经是 XMLDocument 节点对象,可以直接应用 DOM 接口的。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文