【问题标题】:how to POST data to a remote server with javascript?如何使用 javascript 将数据 POST 到远程服务器?
【发布时间】:2012-07-23 10:54:22
【问题描述】:

我在 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)。我应该更改远程页面的权限参数吗?...有什么建议吗?

【问题讨论】:

  • 这个脚本是否在同一个域的页面上运行?
  • 请求使用 - XMLHttpRequest 或 jQuery。
  • 感谢大家的回复..有两个不同的域...但是我认为由于某种原因,一台服务器对发布有限制,而在另一台服务器上我可以成功执行脚本。

标签: php javascript post


【解决方案1】:

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

【讨论】:

  • 它是 403。但托管页面是我的..我有两个托管站点..我想将数据从我的电脑传递到其中一个服务器。该页面应该拥有什么权限才能发布数据……比如 777 或其他任何东西?
  • 要将数据发布到该页面,您需要确保该页面是公开的。
【解决方案2】:

1.在浏览器的地址栏上查看。此脚本的 URL 应以 http:// 开头 而不是与 C:\ 或 file://(如果您的脚本另存为 .html 并且您通过单击运行它,总是会发生)

2.查看脚本的域。它应该与你的服务器/action.php 相同

【讨论】:

    【解决方案3】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-08-08
      • 2011-06-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-15
      • 1970-01-01
      相关资源
      最近更新 更多