javascript - 如何从另一个网址获取数据?
问题描述
这是两难的。我正在对网页 #1 ( http://www.blankmediagames.com/Trial/#start ) 上的这些不同报告进行投票,我正在尝试从网页 #2 ( http:// /www.blankmediagames.com/Trial/viewReport.php?id=1388499)。但是,当我使用此代码时,它只返回整个网页。
var tempVar;
var reportPage = new XMLHttpRequest();
reportPage.open('GET', '/Trial/viewReport.php?id=1388499', true);
reportPage.onreadystatechange = function() {
if (reportPage.readyState === 4) {
tempVar = (reportPage.responseText);
}
};
reportPage.send(null);
当我在网页#1 上时,我试图从网页#2 中获取名为“数据”的对象并将其存储在另一个变量中。有什么办法可以做到这一点吗?
这基本上是网页#2中的内容:
<!DOCTYPE html>
...
<script>
$(document).ready(function()
{
data = {"ReportID":"1388499","Username":"FatJellyBean","ReportFile":"Report1386875","Reason":"Gamethrowing","Appeal":"","Submitted":"Jun. 10, 2018 12:41 pm","numReports":2,"players":[{"username":"TooEzJukedBaited","ign":"ImJester","role":"SerialKiller","slot":1},{"username":"RISTR1K","ign":"Covfefe","role":"Doctor","slot":2},{"username":"balintka0607","ign":"William Phips","role":"Retributionist","slot":3},{"username":"JohnGotti","ign":"Karl Marx","role":"Veteran","slot":4},{"username":"Konrad4123","ign":"Pepe","role":"Escort","slot":5},{"username":"Celerian","ign":"Jeff","role":"Jester","slot":6},{"username":"foxesfan9","ign":"dabbingisnotcool","role":"Executioner","slot":7},{"username":"FatJellyBean","ign":"ifyoudonthitsubm","role":"Medium","slot":8},{"username":"GalaxyUnivern","ign":"Eliza Macbeth","role":"Godfather","slot":9},{"username":"Davve27","ign":"Katana","role":"Investigator","slot":10},{"username":"GayBobFaggyPants","ign":"Sarah Bishop","role":"Godfather","slot":11},{"username":"holysilman","ign":"Lil Tay","role":"Sheriff","slot":12},{"username":"pingvingen","ign":"Garfunkle","role":"Lookout","slot":13},{"username":"fefecute","ign":"Fefecute","role":"Framer","slot":14},{"username":"Frogers98","ign":"James Russel","role":"Jailor","slot":15}]};
Trial.populateFilter(data);
$
$('.reportedPlayer').html($('#FatJellyBean').next().html());
$('#highlighter').show();
});
function highlight(elem,start,end)
{
var el=elem[0];
var eln= (el.children.length > 0) ? el.lastChild : el.childNodes[0];
var range=document.createRange();
var sel=window.getSelection();
start = (typeof start != 'undefined') ? start : 0;
end = (typeof end != 'undefined') ? end : el.innerHTML.length;
if(el.children.length > 0) start = end = 0;
range.setStart(eln,start);
range.setEnd(eln,end);
sel.removeAllRanges();
sel.addRange(range);
el.focus();
}
</script>
...
</html>
解决方案
可以将一个对象转移到另一个页面,但不能通过您尝试的方法。
有一些技巧可以使用 url 参数:如何将 javascript 变量从一个 html 页面传递到另一个 html 页面
但是,更建议构建端点和 API 来传递信息。这种架构涉及更多工作,但可以解决您的确切问题:如何将 javascript 对象从一个页面传递到另一个页面
推荐阅读
- reactjs - React JS:提供者组件如何验证或检查组件是否具有其上下文?
- c# - System.InvalidOperationException :
没想到 - asp.net-core - 在 asp.net core 5 中创建一个新的活动
- javascript - javascript中如何根据用户id动态加载内容
- c# - 如何将文件日志记录添加到 c# graph api 通知应用程序(切换或扩展 Ilogger 以将信息记录到日志文件)
- arrays - 在 C 代码中将 char 数组元素转换为等效的十六进制
- javascript - 剑道对话框弹出多次单击多次打开
- c# - Mongodb C# 试图读取流的末尾
- flutter - Dart:标识符之前与之后的感叹号
- python - 两个名称非常相似的列表的模糊匹配