跨源请求未通过

时间:2018-09-28 09:41:11

标签: jquery ajax cors

我正在使用jQuery提出AJAX请求,我必须从表单中获取电子邮件并将其发送到服务器,然后将代码包装在IIFE中并使用$ .ajax()完成此操作。这是我的代码段:

(function () {
    var url = "http://18.188.143.245/requests";
    var userEmail = $("#main-form input");
    var userEmailFooter = $("#footer-form input");

    function sendData(opt){

        var settings = {
          "async": true,
          "crossDomain": true,
          "url": url,
          "method": "POST",
          "dataType": "json",
          "headers": {
            "Cache-Control": "no-cache",
            "Access-Control-Allow-Origin": "http://18.188.143.245"
          },
          "processData": false,
          "data": JSON.stringify(opt)
        };

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

    };

    function emailSend(e) {
        e.preventDefault();
        if(userEmail.val() || userEmailFooter.val()) {
            sendData({
                content:"Sanchit S",
                email:"test@abc.com",
                mobileNumber:"1234567890"
            });
        }

        userEmail.val("");
        userEmailFooter.val("");
    }


    $("#main-form button").on("click", emailSend);
    $("#footer-form button").on("click", emailSend);

})();

我正在使用邮递员对此URL发出请求,它似乎运行正常,并且在那里得到了适当的响应。但是该请求在Chrome和Firefox中均未通过,这表明跨域请求被阻止。这是 Firefox 中的错误消息:

  

跨域请求被阻止:“同源起源”策略禁止读取http://18.188.143.245/requests处的远程资源。 (原因:CORS标头“ Access-Control-Allow-Origin”缺失)。
  跨域请求被阻止:同源策略禁止读取http://18.188.143.245/requests处的远程资源。 (原因:CORS请求未成功。)

Chrome 中的错误消息为:

  

无法加载http://18.188.143.243/requests:对预检请求的响应未通过访问控制检查:所请求的资源上没有'Access-Control-Allow-Origin'标头。因此,不允许访问原点。

请提出我应该如何解决此问题。预先感谢!

0 个答案:

没有答案