如何使用javascript将数据发布到远程服务器?

问题描述:

我对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

如果您的403访问被拒绝,那么问题在于服务器不希望任何人看到该页面。如果它是您的服务器,则尝试更改该页面的权限设置。如果您要提交HTML表单,则跨域应该不成问题。

+0

它是403.但托管页面是我的..我有两个托管网站..我想从我的电脑传递数据到服务器之一。什么权限应该该网页必须发布数据..像777或任何东西? – 2012-07-25 13:59:28

+0

要将数据发布到该页面,您需要确保该页面是公开的。 – axl 2012-07-25 18:58:48

听起来像您的服务器可能已打开身份验证。你有基本的身份验证启用?您是否允许POST到您的服务器,或者您只能使用GET?你提交跨域吗?有很多可能的情况可能导致这种情况,所以您需要确定最可能的原因并从那里开始。如果javascript发布到您的服务器比问题不是与JS,而是与您的服务器。

1.在浏览器上查看您的地址栏。这个脚本的网址应以http://开头 ,而不是与C:\或file://(如果你的脚本是保存为.html和你通过点击运行它总会发生)

2。请参阅您的脚本的域名。它应该与您的服务器/ action.php