小编典典

通过WordPress主题中的$ .ajax调用外部URL

ajax

我的WordPress应用程序托管在url
http://127.0.0.1/wordpress/上,我在WordPress标头中添加了以下脚本以获得一些令牌,但它没有给出任何令牌

我复制了该URL(http://127.0.0.1:8090/sample/sample/getToken)并在新选项卡中打开,它成功返回了令牌,但是当我使用$
.ajax调用它时,它没有返回我的令牌

  <script>   
   $().ready(function(){
      $("#signIn").click(function(){
                    alert("Display Alert Properly");
            $.ajax({ 
            type: "POST",
            url: "http://127.0.0.1:8090/sample/sample/getToken",
            contentType: "text/html",
            success: function(token)  { 
                window.open("https://api.linkedin.com/uas/oauth/authorize?oauth_token=" + token, "_self", "");  });
        });

    });

阅读 255

收藏
2020-07-26

共1个答案

小编典典

由于现代浏览器中实施了相同起源策略,因此无法通过Javascript直接访问外部资源。但是,有两种解决方案。

如果远程站点提供JSONP,则可以利用它来加载外部资源,但如果不提供,则将无法直接访问这些资源。

如果远程端点不提供JSONP,则您将在自己的服务器上需要一个代理脚本,该脚本接受AJAX请求,将请求发送到外部端点,并将响应中继到Javascript应用程序。确保妥善保护此类脚本,使其仅接受对受祝福端点的请求,否则您将面临令人讨厌的安全漏洞。

2020-07-26