我正在构建一个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并不是很好。
由于
答案 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));