jquery触发外部api

时间:2016-12-02 06:13:04

标签: javascript jquery

<script type="application/javascript">
     $(function () {
         $('#btnUsingjQuery').click(function () {
             $.ajax({
                 url: "https://maps.googleapis.com/maps/api/js?key=12345",
                 dataType: 'jsonp',
                 success: function (results) {
                     window.location.href = "www.google.com";
                 }
             });
         });
     });
     </script>
上面是我的jquery代码连接到外部api,无论成功还是失败,它都会重定向到google.com。

单击按钮后我遇到错误:拒绝从API执行脚本,因为其MIME类型(&#39; text / html&#39;)不可执行,并且启用了严格的MIME类型检查。 尝试过更改类型=&#34; application / javascript&#34;仍然面对这个问题。 任何想法为什么?

2 个答案:

答案 0 :(得分:0)

如果您将其设置为json,则会看到错误,这表示您无权访问该API。我想如果您想使用Google Map Api,则需要注册并获取用于访问API的令牌。

  

XMLHttpRequest无法加载   https://maps.googleapis.com/maps/api/js?key=12345。没有   请求中存在“Access-Control-Allow-Origin”标头   资源。因此,不允许原点'null'访问。

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button id="btnUsingjQuery">Click</button>

<script type="application/javascript">
     $(function () {
         $('#btnUsingjQuery').click(function () {
             $.ajax({
                 url: "https://maps.googleapis.com/maps/api/js?key=12345",
                 dataType: 'json',
                 success: function (results) {
                     window.location.href = "www.google.com";
                 }
             });
         });
     });
     </script>

答案 1 :(得分:0)

你试试这个......

    <script type="application/javascript">
         $(function () {
             $('#btnUsingjQuery').click(function () {
                 $.ajax({
                     url: "https://maps.googleapis.com/maps/api/js?key=12345",
                     dataType: 'jsonp',
                     success: function (results) {
                         window.location='https://www.google.co.in';
                     }
                 });
             });
         });
    </script>

我的意思是添加

window.location='https://www.google.co.in';