我已经为这个问题苦苦挣扎了两天了。我找到了许多有关类似主题的教程,但还没有一个可以帮助我解决我的问题。
在 Volusion 购物车上,我尝试远程从产品页面获取内容并将其信息保存在变量中以在购物车上使用。我无法使用 php(Volusion 不支持),并且被迫使用 javascript 来执行此操作(据我所知)。以下代码在购物车商品中搜索特定品牌名称“Palliser”。如果该名称存在,它会获取该链接,使用 ajax 向与该链接关联的页面发送请求,并获取我需要的信息。它获取了我需要的信息,但在此过程中我的页面变成白色,并留下了 2013 年……我不知道为什么会发生这种情况。这是我第一次使用 ajax,所以有人可以帮忙吗!?!?
$(window).load(function(){
var seat_count = 0;
var i = 0;
var prodLinks = [];
var numSeats = '';
$('b.cart-item-name:contains("Palliser")').filter(function(index) {
prodLinks[i] = 'http://xepwk.cjvgn.servertrust.com/'+$(this).parent('a').attr('href');
$.ajax({
url:prodLinks[i],
//data:string,
async:false,
success: function(result){
var html = jQuery('<div>').html(result);
var prodInfoArray = html.find('span.PageText_L660n').parent('b').parent('td').html().split('<br>');
var numSeats = prodInfoArray[1];
alert(numSeats);
}
});
i+=1;
});
这里是帮助我达到目前为止的信息的链接:Get the content of another page's div with jQuery Ajax
最佳答案
当 DOM 就绪事件触发时,您可以启动 ajax 请求。因为您不需要图像和其他人员来开始 ajax 请求。另外 async:true
一定会对您的情况有所帮助。
var seat_count = 0;
var i = 0;
var prodLinks = [];
var numSeats = '';
$(document).ready(function() {
$('b.cart-item-name:contains("Palliser")').filter(function(index) {
prodLinks[i] = 'http://xepwk.cjvgn.servertrust.com/'+
$(this).parent('a').attr('href');
$.ajax({
url:prodLinks[i++],
//data:string,
async:true,
success: function(result){
var html = jQuery('<div>').html(result);
var prodInfoArray = html.find('span.PageText_L660n')
.parent('b').parent('td').html().split('<br>');
var numSeats = prodInfoArray[1];
alert(numSeats);
}
});
});
});
关于javascript - 如何从另一个页面获取内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16106894/