如何通过href发送javascript对象

时间:2017-03-19 04:25:25

标签: javascript

我正在构建一个javascript脚本,它将在一些网站(客户端)上运行,获取一些信息并将其返回到我的主页。由于每个网站都有一点不同,我需要在纯JavaScript中执行此操作。我希望它工作的方式是收集信息并将其存储在一个对象(我已经工作)中,然后使用window.location.href将其发送到主站点。如果不知道每个站点上的可用内容(例如,他们可能没有JQuery),那么最好的方法是什么?

它发送的页面是一个php脚本。

对象示例。

var obj = {
    page_on:window.location.pathname,
    loadtime:loadtime,
};

然后我想在函数中发送回家(所以我可以在不同的地方重复使用)

function sendHome(obj) {
    window.location.href="http://domainname.com/handleinfo/obj
}

上面的代码不起作用,它就在我现在的位置。我需要用obj做点什么。我对javascript并不是很好。

由于

1 个答案:

答案 0 :(得分:0)

您需要先对序列化您的对象。然后,您可以使用XMLHttpRequest将数据发送到您的服务器。

请注意,当您的服务器位于与您要运行JavaScript的网站不同的域上时(听起来像这样),您还需要在服务器上启用CORS

以下是在服务器上启用CORS时发送数据的脚本示例:

var obj = {
  url: window.location.href,
  loadTime: loadtime
};

var req = new XMLHttpRequest();
req.open('POST', 'https://yourdomain.com/track');
req.setRequestHeader("Content-Type", "application/json");
req.send(JSON.stringify(obj));