发布并访问Javascript中的URL

时间:2018-08-07 16:09:45

标签: javascript post

我正在尝试:

  • 将JSON对象发布到URL并同时访问它。
  • 设置内容类型并接受标题

我正在使用旧的源库(asp classic / vb)。理想情况下,如果我可以使用JavaScript做到这一点,那就太好了!

使用XHR构建带有标头和数据的js调用很简单:

var xhr = new XMLHttpRequest();
var url = "url";
xhr.open("POST", url, true);
xhr.setRequestHeader("Content-Type", "application/json");
var data = JSON.stringify({JSON DATA});
xhr.send(data);

但是这是一个异步调用,我似乎找不到找到使之真正访问浏览器URL的方法。

另一种方法是在使用javascript提交表单之前,先创建一个表单并将其附加到HTML实体。这次是将数据发布到URL并对其进行访问。.但是,我无法控制标题。

回到我的问题。我可以发布并访问Javascript中的URL吗?

3 个答案:

答案 0 :(得分:0)

鉴于在浏览器中访问URL是GET请求,并且您想同时发布,则不能。

您为什么需要发布和访问?

您可以发布数据,并在回调中(一旦完成发布请求)加载页面。

答案 1 :(得分:0)

否。

您能找到的最接近的是:

  1. 使用Ajax发出请求
  2. 使用DOM使用响应中的数据修改当前页面
  3. 使用History API更新地址栏中的URL

更改服务器端代码以使用常规格式编码的数据,然后提交常规格式可能是解决该问题的最简单方法。

答案 2 :(得分:0)

您正在使用XHR,并且如果要通过javascript管理它,请在xhr中添加 onreadystatechange 属性(服务器响应时将触发此功能),并在此功能中进行重定向使用 window.location.href

var xhr = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
  if (this.readyState == 4 && this.status == 200) {
    // Here redirect, with params if you need to
    window.location.href = "https://stackoverflow.com?name1=value1&name2=value2"; 
  }
};
var url = "url";
xhr.open("POST", url, true);
xhr.setRequestHeader("Content-Type", "application/json");
var data = JSON.stringify({JSON DATA});
xhr.send(data);