2013-03-07 42 views
-1

我有一個主域名爲「maindomain.com」和子域的服務器。我會打電話給一個「addon.com。使用php的跨域子域.post使用php

我在addon.com網站上有一個index.php文件,它從maindomain.com文件夾的根目錄下拉取php文件,它工作正常。 m有一個聯繫表格使用js發佈到一個名爲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具有$名稱= $ _POST [ '名稱'];和郵件($ to,$ email_subject,$ email_body,$ headers);碼。

我應該指出,如果我從同一個域調用它,js和emailform.php將起作用。所以我知道代碼正在工作。

+0

一些代碼,請 – 2013-03-07 06:22:50

+0

一個子域是「www.example.com」或「fancyname.example.com」當你有一個域「example.com」。 「addon.com」不是「example.com」的子域名,它是一個完全不相關的域名。這會影響瀏覽器中的幾件事情,例如共享Cookie。 – Sven 2013-03-07 07:49:36

回答

0

跨域調用不會起作用,直到你讓儘可能

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

或使用JSONP

+0

如果它被拉爲包含在php中,這仍然被認爲是跨域調用嗎? – user1898907 2013-03-07 06:35:06

+0

我完全理解你的問題,但如果通過從不同的域呈現的頁面完成,是的 – Rab 2013-03-07 06:42:46

+0

好的,謝謝...我會谷歌並閱讀它。 – user1898907 2013-03-07 06:44:41