使用php的跨域子域.post

时间:2013-03-07 06:18:01

标签: php javascript cross-domain

我有一个主域名服务器" 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中的echo。所以我知道包含工作正在进行中。但它并没有发送电子邮件。

我认为这将是一个很好的解决方法。有什么想法,为什么这不起作用和任何建议?

部分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 = $ _POST [&#39; name&#39;];和邮件($ to,$ email_subject,$ email_body,$ headers);代码。

我应该指出,如果我从同一个域调用它,js和emailform.php都可以工作。所以我知道代码正在运行。

3 个答案:

答案 0 :(得分:0)

您可以使用JSONP来获取跨域ajax请求 json-p.org
JavaScript Cross-Domain Requests JSON

答案 1 :(得分:0)

在您允许

之前,跨域调用无效
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Methods:POST');  

或使用JSONP

答案 2 :(得分:0)

您可以尝试“P3P”政策。

访问http://www.w3.org/P3P/