简单的Ajax POST与跨域请求(simple ajax POST with cross doma

2019-11-03 17:19发布

我想只有一个参数发送一个简单的表格,通过我的后端程序员做了一个API,他告诉我,我需要做的就是用ajax通过POST的一个参数发送到指定的网址。

问题是,我得到一个不“访问控制允许来源”标头存在错误。

我已经通过阅读这个问题,并试图实施第一个答案是没有成功的解决方案。 当我通过测试API 投它的工作原理没有问题。

这是我用来发送代码的形式

    $( document ).ready(function() {
        $('.btnEnviar').click(function(){
            $.ajax({
                type: 'POST',
                url: 'http://xxxxx.xxx/subscribers/subscribeEmail',
                datatype: 'jsonp',
                async: true,
                success:function(){
                    try{
                        alert("ok");
                    }catch (e){
                        alert(e);
                    }
                } 
            });                
        });
    });

这是形式:

<form class="newsletter" method="post" action="http://xxxxx.xxx/subscribers/subscribeEmail">
                    <input type="text" placeholder="mail here!" class="input" name="email">
                    <input type="submit" class="send pull-right hidden" value="Subscribe me!" placeholder="Subscribe me!">
                    <span class="btnEnviar"><i class="fa fa-envelope"></i></span>
                </form>

不应该有参与过程中的任何PHP。

什么任何见解可能我是做错了什么?

Answer 1:

尝试添加crossDomain: truexhrFields: { withCredentials: true }请求:

$( document ).ready(function() {
    $('.btnEnviar').click(function(){
        $.ajax({
            type: 'POST',
            url: 'http://xxxxx.xxx/subscribers/subscribeEmail',
            datatype: 'jsonp',
            async: true,
            xhrFields: {
               withCredentials: true
            },
            crossDomain: true,
            success:function(){
                try{
                    alert("ok");
                }catch (e){
                    alert(e);
                }
            } 
        });                
    });
});

见http://api.jquery.com/jquery.ajax/



文章来源: simple ajax POST with cross domain request