如何发送AJAX回调到我自己的服务器/php文件


How to send AJAX callback to my own server/php file

我想在用户点击按钮发布带有ajax调用的网站时启动一个函数,我们很难纠正或修复这个错误(没有'Access-Control-Allow-Origin')。

尝试这个解决方案:我们应该将AJAX调用发送回您自己的服务器/php文件。然后,该PHP文件应该将该API调用直接发送回Duda。流程应该是:

 function publish_site() {
    var site_name = $(".site_name").val();
    var url = 'https://mywebsite.com/home/site/'+site_name;
    $.ajax({
            type:'POST',
            data:{site_name:$(".site_name").val()},//Get Account Information
            dataType:'jsonp',
            url:'publish-site.php',
            complete: function(jqXHR, textStatus) {
               $('#publish-btn').toggleClass("btn-primary"); // Revert back to default primary
               $("#publish-btn").html("Publish"); // Change text of button    
               $('.url-here').append('<a href='+url+'>Click here to redirect</a>');
               console.log("Completed: "+textStatus);
            },
            error: function(jqXHR, textStatus, errorThrown) {
                 console.log("Error: "+textStatus+" "+errorThrown);
            },
            success: function(data, textStatus, jqXHR) {
                console.log("Success: "+textStatus);
            },

    });//ajax end
    }//function publish_site end

    $(document).ready(function(){
       $("#publish-btn").click(function(e){
       $("#publish-btn").toggleClass("btn-primary"); // Switch to default grey
       $("#publish-btn").html("Publishing"); // Change text of button    
      publish_site();
     });
    });
    </script>

如果你在本地服务器上尝试这个代码,那么你应该下载这个Google chrome扩展并启用它

https://chrome.google.com/webstore/detail/allow-control-allow-origi/nlfbmbojpeacfghkpbjhddihlkkiljbi?hl=en

如果它在你的服务器上,那么请把这个链接放在你的PHP文件

<?php
 header("Access-Control-Allow-Origin: *");

如果您需要更多信息,请打开此链接

http://enable-cors.org/server.html