当前位置: 首页 > 知识库问答 >
问题:

“Access Control Allow Origin”Google finance converter提供了一个错误javascript/jquery

宋宏儒
2023-03-14

我正在使用一个项目模块,在那里我想从谷歌金融转换器基于货币代码和金额转换价格。这是我的代码:

$('.actual-price').tooltip({
    content: function(callback) {
        var url = 'https://www.google.com/finance/converter?a=25&from=USD&to=AMD';
        $.get(url, {}, function(data) {            
            callback(data);
        });
    },
    open: function(event, ui) {
        var $id = $(ui.tooltip).attr('id');
        $('div.ui-tooltip').not('#' + $id).remove();
    },
    close: function(event, ui) {
        $('.ui - tooltip').hide();
    }
});

它给我一个错误:

XMLHttpRequest无法加载https://www.google.com/finance/converter?a=25

我尝试了以下方法来解决这个问题,但似乎没有什么对我有效!

第一:在web配置中添加了访问控制允许源站

<httpProtocol>
    <customHeaders>
        <add name="Access-Control-Allow-Origin" value="*" />
    </customHeaders>
</httpProtocol>
dataType: "jsonp",

并已转介下列职位:

msgstr"请求的资源上没有访问-控制-允许-起源标头"

请求的资源错误上不存在访问-控制-允许-起源头

请求的资源上不存在“Access Control Allow Origin”标头。因此,不允许访问源“…”

msgstr"请求的资源上没有访问-控制-允许-起源标头"

Side:它正在使用我的本地主机,但当我尝试使用另一个域时,它会给我一个错误!


共有3个答案

耿志义
2023-03-14

当您将应用程序上载到生产中的服务器时,应用程序将正常工作。因为这只是一个局部问题,浏览器会阻止这种类型的请求。

居星阑
2023-03-14

您需要更改Ajax设置async: false如下所示:

JavaScript代码:

$('.actual-price').tooltip({
    content: function(callback) {
        var url = 'https://www.google.com/finance/converter?a=25&from=USD&to=AMD';
        $.ajaxSetup({async: false}); ////////// Added
        $.get(url, {}, function(data) {            
            callback(data);
        });
    },
    open: function(event, ui) {
        var $id = $(ui.tooltip).attr('id');
        $('div.ui-tooltip').not('#' + $id).remove();
    },
    close: function(event, ui) {
        $('.ui - tooltip').hide();
    }
});
卫宁
2023-03-14

当您发送请求时,允许访问的来源也必须允许在侧面。如果没有,您可以安装一些浏览器扩展来绕过它或下载整个页面(php),然后处理它,但您也可以尝试cors-anywhere.herokuapp.com:

var myUrl = 'http://www.geoplugin.net/json.gp?ip=216.58.209.68';

var proxy = 'https://cors-anywhere.herokuapp.com/';

var finalURL = proxy + myUrl;

// With the get JSON (frequently used) method
$.getJSON(finalURL, function( data ) {
    console.log(data);
});

// With the get method
$.get(finalURL, function( data ) {
    console.log(data);
});

// With the post method
$.post(finalURL, function( data ) {
    console.log(data);
});   

这里有更多。

为什么你的应用程序在localhost主机上工作?我的事情是因为谷歌有访问原点设置,以允许从他们的域和localhost连接。

 类似资料:
  • 我试图在build.gradle android扩展中的AndroidManifest.xml文件中执行替换,但遇到了以下错误: 这是清单文件的一个片段: 为什么在ManifestPlaceHolders中提供了一个占位符替换时,它需要一个占位符替换,这是错误的?

  • 我目前正在学习GraphQL教程,并在“添加数据库”部分解释如何使用GraphQL设置Prisma。 我在prisma中添加完信息。yml文件,已安装prisma,运行prisma deploy并遵循以下步骤,但每次我再次运行prisma info、prisma token或prisma deploy时,都会收到相同的错误: 我一直在努力寻找解决这个错误的方法。我尝试更新节点和npm,下载dock

  • 当编译一个特定的Android项目时,并且仅在我的Windows机器上,我会在dex期间获得。在使用Eclipse和Ant时都会出现这个问题。 使用Ant时的输出是: 使用Eclipse时,消息会更短,但类似:

  • org.springframework.web.util.NestedServletException:请求处理失败;嵌套异常为java.lang.IllegalArgumentException:为类com.DatabaseProject.Questor.Model.Question提供了错误类型的id。应为:class java.lang.Integer,got class java.lang

  • 问题内容: 我正在尝试使用JDK 7的“尝试捕获资源”语句;IntelliJ突出显示了我的资源线, 此语言级别不支持尝试资源。 当我尝试编译时,我得到: java:-source 1.6不支持try-with-resources(使用-source 7或更高版本来启用try-with-resources) 我检查了当前项目是否启用了try-with-resources,并且我的项目正在使用JDK

  • 问题内容: 我正在尝试在html页面中显示配置的值和角值服务中的版本代码,但显示的不是作者的名字,这是html代码 这是指令… 这是在其中配置和值的服务部分 我在开发人员控制台中遇到的错误是 问题答案: 确保将这些模块( myApp.services 和 myApp.directives )作为主要应用程序模块的依赖项加载,如下所示: 塞子: http ://plnkr.co/edit/wxuFx