使用php跨域subdomain.post

使用php跨域subdomain.post,php,javascript,cross-domain,Php,Javascript,Cross Domain,我有一个主域“maindomain.com”和子域的服务器。我会叫一个“addon.com” 我在addon.com网站上有一个index.php文件,它从maindomain.com文件夹的根目录中提取php文件,并且工作正常。我遇到的问题是,有一个使用js Post的联系表单指向一个名为emailform.php的php文件,因为该文件位于主域,所以我遇到了跨域问题 我试图解决这个问题的方法是在子域文件夹中创建另一个名为subemailform.php的php文件,该文件只包含emailfo

我有一个主域“maindomain.com”和子域的服务器。我会叫一个“addon.com”

我在addon.com网站上有一个index.php文件,它从maindomain.com文件夹的根目录中提取php文件,并且工作正常。我遇到的问题是,有一个使用js Post的联系表单指向一个名为emailform.php的php文件,因为该文件位于主域,所以我遇到了跨域问题

我试图解决这个问题的方法是在子域文件夹中创建另一个名为subemailform.php的php文件,该文件只包含emailform.php

如果我直接转到subemailform.php页面,emailform.php中的回声就会出现。因此我知道include正在工作。但是它不会发送电子邮件

我认为这将是一个很好的解决办法。关于为什么这不起作用,有什么想法和建议吗

部分js代码:

 function submitEmailForm() {
    $.post('subemailform.php', { domainName: App.get('domainName'), name:     $('#emailFormName').val(), phone: $('#emailFormPhone').val(), skype: $('#emailFormSkype').val(), email: $('#emailFormEmail').val() }, function() {
        // alert('success!');
subemailform.php

     <?php  
        include 'http://www.maindomain.com/emailform.php';
?>

emailform.php有$name=$\u POST['name'];和邮件($to、$email\u subject、$email\u body、$headers);代码

我应该指出,如果我从同一个域调用js和emailform.php,它就可以工作。因此我知道代码可以工作。

您可以使用户进行跨域ajax请求。


除非您允许as,否则跨域调用将不起作用

header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Methods:POST');  
或者使用JSONP,您可以尝试“P3P”策略


Visit

如果将其作为php中的一个包含项进行拉入,是否仍将其视为一个跨域调用?我完全理解您的问题,但如果调用是通过从不同域呈现的页面完成的,yesI会将其放入htaccess文件中,并且成功:头集访问控制允许来源“*”--ThanksA subdomain is”“www.example.com”或“fancyname.example.com”当您有一个域“example.com”时,“addon.com”不是“example.com”的子域,它是一个完全不相关的域。这会影响浏览器中的一些事情,例如共享cookie。