Tag: cors

为什么我的JavaScript在请求的资源中出现“No’Access-Control-Allow-Origin’标题出现错误”邮差不?

我试图通过连接到内置在Flask中的RESTful API来使用JavaScript进行授权。但是,当我提出请求时,出现以下错误: XMLHttpRequest无法加载http:// myApiUrl / login。请求的资源上没有“Access-Control-Allow-Origin”标题。因此不允许原产地’null’访问。 我知道API或远程资源必须设置标题,但为什么当我通过Chrome扩展邮件发送者发出请求时会工作? 这是请求代码: $.ajax({ type: "POST", dataType: 'text', url: api, username: 'user', password: 'pass', crossDomain : true, xhrFields: { withCredentials: true } }) .done(function( data ) { console.log("done"); }) .fail( function(xhr, textStatus, errorThrown) { alert(xhr.responseText); alert(textStatus); }); 答案 如果我理解正确,那么您正在向不同于您的页面的域请求XMLHttpRequest。因此,浏览器会阻止它,因为出于安全原因,它通常允许同一来源的请求。当你想做一个跨域请求时,你需要做一些不同的事情。关于如何实现这个教程是使用CORS。 当您使用邮递员时,他们不受此政策的限制。从跨源XMLHttpRequest引用: 常规网页可以使用XMLHttpRequest对象从远程服务器发送和接收数据,但是它们受限于相同的源策略。扩展不限于此。只要它首先请求跨源许可,扩展就可以与远程服务器进行通信。 这不是修复生产或应用程序必须显示给客户端的情况,这仅在UI和后端开发 位于不同服务器上且生产中实际位于同一服务器时才有用。例如:如果需要在本地对其进行测试并将其指向后端服务器,则在为任何应用程序开发UI时,在这种情况下,这是完美的解决方案。对于生产修复,必须将CORS头添加到后端服务器以允许跨源访问。 简单的方法是在google chrome中添加扩展程序以允许使用CORS进行访问。 (https://chrome.google.com/webstore/detail/allow-control-allow-origi/nlfbmbojpeacfghkpbjhddihlkkiljbi?hl=en-US) 只要允许访问不允许访问‘access-control-allow-origin’头部请求,就启用此扩展。 要么 在Windows中,将此命令粘贴到运行窗口中 chrome.exe --user-data-dir="C:/Chrome dev

Google App Script jQuery ajax request failed

问题内容: I create a Google App Script to save form data in a spreadsheet. But I have some issues with communication between my jQuery script and Google App Script (MIME, CORS etc…) It’s my Google App script: function doGet(e) {   var ss = SpreadsheetApp.openById("xxxxxxxxxxxxx");   var SheetResponses = ss.getSheetByName("Responses");   // Create a 'Responses'