Javascript 我正在尝试刷新div,而不使用$(“div”).load(window.location.href+“div”)刷新整个页面;它不起作用
我正在尝试刷新此div,但不断出现错误XMLHttpRequest无法加载。跨源请求仅支持协议方案:http、数据、chrome、chrome扩展、https 我曾研究过firefox允许跨http请求,但当我重新加载页面时,div消失了 我想知道我的代码是否有问题 我正在检索的数据来自firebaseJavascript 我正在尝试刷新div,而不使用$(“div”).load(window.location.href+“div”)刷新整个页面;它不起作用,javascript,jquery,html,Javascript,Jquery,Html,我正在尝试刷新此div,但不断出现错误XMLHttpRequest无法加载。跨源请求仅支持协议方案:http、数据、chrome、chrome扩展、https 我曾研究过firefox允许跨http请求,但当我重新加载页面时,div消失了 我想知道我的代码是否有问题 我正在检索的数据来自firebase function updateDiv(){ $("#data-container").load(window.location.href + " #data-container"); }
function updateDiv(){
$("#data-container").load(window.location.href + " #data-container");
}
返回
交易历史
您正在为数据容器的内容调用实际页面window.location.href上的加载,并希望将内容放入数据容器中。在您的代码中,数据容器的内容是空的,所以您可以用empty替换empty。我不知道你到底想做什么 对于跨原点问题,您应该尝试调用相对路径,而不是window.location.href。例如,如果您在上,您应该编写.load“test.php数据容器” 你能解释一下你想做什么吗?你把刷新div称为什么?你想用原始内容还原它的内容,因为它可以在用JS加载页面后修改?如果是,则应将div的初始内容存储在JS缓存中:
jQuery(document).ready(function(){
jQuery('#data-container').data('cache',jQuery('#data-container').html)) ;
}) ;
然后,当您想要恢复其原始内容时,不必进行ajax调用,只需获取存储的内容:
function updateDiv(){
$("#data-container").html(jQuery('#data-container').data('cache'))
);
}
但是,tbh,我认为这不是你想要做的,对吗?您正在尝试搜索包含jQuery'inputmyInput'。val的数据?这是我在页面加载中的数据。它将从firebase检索所有事务,并根据列表进行相应更新
firebase.auth().onAuthStateChanged(function(user) {
// [START_EXCLUDE silent]
// [END_EXCLUDE]
if (user) {
uid = user.displayName;
console.log(uid);
var rootRef = firebase.database().ref();
var ref = rootRef.child(uid + "/Transaction History");
var query = ref.orderByKey().limitToLast(100);
query.on("child_added", function(messageSnapshot) {
// This will only be called for the last 100 messages
var keys = Object.keys(messageSnapshot);
var messageData = messageSnapshot.val();
var key = messageSnapshot.getKey();
console.log("key is " + messageSnapshot.getKey());
console.log("messagesnapshot is " + messageSnapshot);
var obj = {
key: key,
firstName: messageData.firstName,
lastName: messageData.lastName,
icNo: messageData.icNo,
passportNo: messageData.passportNo
};
arr.push(obj);
ref.child(key + "/User Information").once('value').then(function(snapshot) {
var name = snapshot.val().firstName;
console.log(name);
s = "<li><a href='#'>" + no + '. '+ name + ' ' + key +"</a></li>";
no++
sources.push(s)
// for ( property in messageSnapshot) {
// console.log( property ); // Outputs: foo, fiz or fiz, foo
//}
//$("#mylist").html(s);
//$("#mylist").listview("refresh");
console.log("arr.length is " + arr.length);
console.log(sources[9]);
}).then(function(pagination) {
Pagination();
})
按下按钮后,它将使用从数据容器中的firebase检索的最新更新事务刷新div
function updateDiv(){
$( "#data-container" ).load(window.location.href + " #data-container" );
}
</script>
</head>
<body>
<div data-role="page" id="pageone">
<div data-role="header">
<button onclick="goBack()">Back</button>
<h1>Transaction History</h1>
</div>
<input type="text" id="myInput" onkeyup="myFunction()" placeholder="Search for Name..">
<button onclick="updateDiv()"></button>
<div id="data-container"></div>
<div id="mylist"></div>
创建一个只返回所需HTML的端点更有意义。也就是说,您是否在本地文件系统上运行HTML?网址开始了吗file://...?yes 我正在LocalHost上运行它实际上我正在从firebase检索数据,这样一旦用户单击按钮,div中的数据将被更新并替换为旧的数据集。您可以添加一组示例吗?你在初始化时有什么,按下按钮前有什么,点击按钮后有什么。我在下面添加了一组示例?看不见