2012-08-13 30 views
0

我完全被我遇到麻煩百思不得其解。

我在IIS託管的網站(在測試階段,所以一切都是通過本地主機)

IIS 7.5

在我的主頁(用HTML編寫的),我使用的PHP腳本($。 post方法)與WCF服務進行通信以驗證用戶身份(完美工作)。

我也有一個註冊頁面,與使用不同的PHP腳本相同的WCF的Web服務進行通信。但是,當我嘗試使用$ .post方法時,出現HTTP 405錯誤。什麼讓我害怕,我不明白它如何在一頁上完美工作,並抱怨另一頁?

我打電話給我的$。員額方法在我的主頁是這樣的:

$.post('authenticate.php', $("#frmLogin").serialize(), function(data) { 
         //do stuff 
       }); 

沒有問題。

調用不同的PHP腳本不同的html頁面上相同的方法:

$.post('registration.php', $("#frmRegister").serialize(), function(data) { 
          //do stuff 
        }); 

,我得到HTTP 405錯誤 - 不允許的方法。

怎麼可能是罪魁禍首?我已經添加了.php到IIS處理程序映射,並允許所有動詞但同樣的問題。我試着改變我的WCF方法來「POST」,而不是「GET」(我的身份驗證使用GET工作),但仍然是一個問題。

更新:

這裏的registration.php的文件

  <?php 


    $UserName = $_POST['UserName']; 
    $PassWord = $_POST['PassWord']; 
    $Email = $_POST['Email']; 


    $wcfClient = new SoapClient('http://localhost/AYAFYAuthenticate/AuthenticationService.svc?wsdl'); 

    $args = array('uname' => $UserName,'pword' => $PassWord,'email' => $Email); 

    $response = $wcfClient->CreateUser($args); 

    echo $response->CreateUserResult; 
    ?> 

這裏的PHP代碼的The工作authentication.php文件:

  <?php 


    $UserName = $_POST['UserName']; 
    $PassWord = $_POST['PassWord']; 


    $wcfClient = new SoapClient('http://localhost/AYAFYAuthenticate/AuthenticationService.svc?wsdl'); 

    $args = array('uname' => $UserName,'pword' => $PassWord); 

    $response = $wcfClient->Authenticate($args); 

    echo $response->AuthenticateResult; 
    ?> 

感謝,

回答

0

http://www.checkupdown.com/status/E405.html顯示h解決405錯誤。從閱讀那裏,我假設它是服務器端的東西。如果您想發佈PHP這將有助於

+0

我更新我的問題與PHP腳本,但我會看着你提供這個鏈接。 – kmauzoul 2012-08-13 03:19:16

+0

試試這個。暫時用您的授權碼替換您的註冊碼,以查看它是否是客戶端。 Idk你的「do stuff」代碼是什麼,如果有代碼的話,但是這個步驟應該測試它的客戶端還是服務器端的問題。我沒有看到任何真正錯誤的PHP的,但我不是一個很大的PHP編碼器開始用,所以我會捅別人看看 – Kpower 2012-08-13 04:51:41

相關問題