-1

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

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

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

如果我直接进入 subemailform.php 页面,则会显示 emailform.php 中的回显。所以我知道包含正在工作。但它不会发送电子邮件。

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

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

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

4

3 回答 3

0

您可以将JSONP用于跨域 ajax 请求。
json-p.org
JavaScript 跨域请求 JSON

于 2013-03-07T06:22:57.140 回答
0

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

header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Methods:POST');  

或使用 JSONP

于 2013-03-07T06:24:21.257 回答
0

您可以尝试“P3P”策略。

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

于 2013-03-07T06:36:59.577 回答