带有ajax的肥皂数据发布“ Cors Policy”错误

问题描述

我的任务是使用API​​发送用户的个人数据。但是我必须用SOAP来实现它。在下面的代码中,我正在使用简单的jQuery + Ajax调度,但是却出现了错误

从源“ https://website.url”访问“ https://send.data.to.api/”处的XMLHttpRequest已被CORS策略阻止:对预检请求的响应未通过访问控制检查:请求的资源上没有“ Access-Control-Allow-Origin”标头。

如果我理解正确,则服务器端阻止了我的主机尝试发送数据,并且服务器端应将访问主机授予主机。如果没有,该如何纠正错误

jQuery(document).ready(function($){


    $('#send-candidate-data').on('click',function(){

    var personal_data = {
        'refCode': ref_code,'name': firstName,'lastname': lastName,'phone': phone,'email': email,'comment': comment,'file': newFiles,'gender': selectedGender
    }


    var soapApiUrl = 'https://send.data.to.api/' + ref_code + '?=' + job_portal;

    var payload  = '<?xml version="1.0" encoding="utf-8"?>' +
    '<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">' +
    '<soap:Body>' +
        '<JobApplication xmlns="http://www.host.net/">' +
            '<item>' +
                '<RefCode>' + personal_data.refCode + '</RefCode>' +
                '<SalutationGender>' + personal_data.gender +'</SalutationGender>' +
                '<FirstName>' + personal_data.name +'</FirstName>' +
                '<LastName>' + personal_data.lastname +'</LastName>' +
                '<EmailAddress>' + personal_data.email +'</EmailAddress>' +
                '<Phone>' + personal_data.phone + '</Phone>' +
                '<ApplicantComments>' + personal_data.commet +'</ApplicantComments>' +
            '</item>' +
        '</JobApplication>' +
    '</soap:Body>' +
    '</soap:Envelope>'; 


    var settings = {
        "async": true,"crossDomain": true,"url": soapApiUrl,"method": "POST","headers": {
            'POST': '/services/website.asmx HTTP/1.1','Host': 'host.job.io','Content-Type': 'text/xml; charset=utf-8','Content-Length': 'length','SOAPAction': 'http://www.host.net/AboutJobApplication','Access-Control-Allow-Origin': 'https://website.url',"cache-control": "no-cache"
        },"processData": false,"data": payload,}

    $.ajax(settings).done(function(response) {
        conosole.log(response);
    });


    })


});

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)