[英]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”策略。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.