Javascript CORS在向google表单提交数据时出现问题

Javascript CORS在向google表单提交数据时出现问题,javascript,angularjs,ajax,cors,Javascript,Angularjs,Ajax,Cors,提交数据时: 错误消息:无法加载XMLHttpRequest。对飞行前请求的响应未通过访问控制检查:请求的资源上不存在“访问控制允许来源”标头。因此,不允许访问源“”。响应的HTTP状态代码为405 $scope.postDataToGoogle = function(){ $http({ method: 'POST', crossDomain: true, url: 'https://docs.google.com/forms/d

提交数据时: 错误消息:无法加载XMLHttpRequest。对飞行前请求的响应未通过访问控制检查:请求的资源上不存在“访问控制允许来源”标头。因此,不允许访问源“”。响应的HTTP状态代码为405

    $scope.postDataToGoogle = function(){
    $http({
        method: 'POST',
        crossDomain: true,
        url: 'https://docs.google.com/forms/d/XXXXXXXXXXXXXXXXXXXXXXXX/formResponse',
        // dataType: "xml",
        data: tempData,
        }).success(function(data,status){
            //alert(data)
            console.log("Success");

        }).error(function(data,status) {
            console.log('Error:' + status);
        });

    }

我确实尝试过使用angular,但仍然无法解决它,但使用jQuery它对我来说很有效

$.ajax({
            url: 'https://docs.google.com/forms/d/xxxxxxxxx',
            data: tempData,
            type: "POST",
            dataType: "xml",
            statusCode: {
                0: function () {
                    alert('error');

                },
                200: function () {
                    alert('Thank you for your valuable feedback');

                }
            }
        })

这与jquery或angular无关,CORS允许或不允许后端服务器执行。 谷歌可能不支持这一点

CORS(跨域资源共享)允许您更干净地将前端与后端分开

CORS是从服务器发送的一组特殊响应头,告诉浏览器是否允许请求通过

访问控制允许源:


您好,此问题可能与有关。听起来谷歌文档不支持CORS请求,但OP发布了一个变通方案。谷歌不支持。如果我将数据类型作为json而不是xml发送,这个链接可能会很有用。