繁体   English   中英

跨域子域 .post 使用 php

[英]Cross Domain subdomain .post using php

我有一个带有主域“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!');

子邮件表单.php

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

emailform.php 有 $name = $_POST['name']; 和邮件($to,$email_subject,$email_body,$headers); 代码。

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

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

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

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

或使用 JSONP

您可以尝试“P3P”策略。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM