2012-07-25 163 views
3

我對JavaScript的驗證碼,如何使用javascript將數據發佈到遠程服務器?

var path = 'remote site action.php'; 
var form = document.createElement("form"); 
form.setAttribute("method", 'POST'); 
form.setAttribute("action", path); 
var code = "some info"; 

     var hiddenField = document.createElement("input"); 
     hiddenField.setAttribute("type", "hidden"); 
     hiddenField.setAttribute("name", "data"); 
     hiddenField.setAttribute("value", code); 

     form.appendChild(hiddenField); 
     document.body.appendChild(form); 

form.submit(); 

不幸的是我不能將它發佈到遠程服務器。代碼完成它的工作,但是當我執行它時,遠程頁面表示訪問被拒絕。 (你沒有權限)(遠程服務器/ action.php)。我應該更改遠程頁面的權限參數嗎?...有什麼建議嗎?

+0

相同這個腳本是否在同一個域上的頁面上運行? – 2012-07-25 03:56:22

+1

請求使用「XMLHttpRequest」或jQuery。 – adatapost 2012-07-25 04:01:54

+0

感謝所有響應..有兩個不同的域...但是我想,由於某種原因,一個服務器有限制後,而與其他服務器,我可以成功地執行腳本。 – 2012-07-27 10:22:01

回答

0

如果您的403訪問被拒絕,那麼問題在於服務器不希望任何人看到該頁面。如果它是您的服務器,則嘗試更改該頁面的權限設置。如果您要提交HTML表單,則跨域應該不成問題。

+0

它是403.但託管頁面是我的..我有兩個託管網站..我想從我的電腦傳遞數據到服務器之一。什麼權限應該該網頁必須發佈數據..像777或任何東西? – 2012-07-25 13:59:28

+0

要將數據發佈到該頁面,您需要確保該頁面是公開的。 – axl 2012-07-25 18:58:48

0

聽起來像您的服務器可能已打開身份驗證。你有基本的身份驗證啓用?您是否允許POST到您的服務器,或者您只能使用GET?你提交跨域嗎?有很多可能的情況可能導致這種情況,所以您需要確定最可能的原因並從那裏開始。如果javascript發佈到您的服務器比問題不是與JS,而是與您的服務器。

-1

1.在瀏覽器上查看您的地址欄。這個腳本的網址應以http://開頭 ,而不是與C:\或file://(如果你的腳本是保存爲.html和你通過點擊運行它總會發生)

2。請參閱您的腳本的域名。它應該與您的服務器/ action.php

相關問題