gpt4 book ai didi

jquery - 使用 jQuery 查找 XML 节点并将其放入现有的 HTML 表中

转载 作者:太空狗 更新时间:2023-10-29 13:50:08 24 4
gpt4 key购买 nike

我正在尝试从 XML 提要中提取一些股票信息并将其写入我网站上的一些现有 div。

更新: 由于 CORS,我现在正在使用 php 代理.请参阅下面的代码。

更新 2: 好了,开始吧。我在下面更新的 jQuery 适用于第一个 stockPrice 变量,但不适用于其余三个。为所有这些提取的数据都是数字,所以我不确定为什么只有一个会起作用。

这是我的 HTML:

<div class="sidenavwrap">

<div class="sidenavhd"><p class="stocktitle">XXXX (Common Stock)</div>


<div class="ctcol3"><p class="stocklft">Exchange</p></div>
<div class="ctcol4"><p class="stocklft">NASDAQ (US Dollar)</p></div>
<div id="stock-divider"></div>

<div class="ctcol3"><p class="stocklft">Price</p></div>
<div class="ctcol4"><p class="stocklft" id="stockPrice"></p></div>
<div id="stock-divider"></div>

<div class="ctcol3"><p class="stocklft">Change (%)</p></div>
<div class="ctcol4"><p class="stockpriceneg" id="changePercent"></p></div>
<div id="stock-divider"></div>

<div class="ctcol3"><p class="stocklft">Volume</p></div>
<div class="ctcol4"><p class="stocklft" id="stockVolume"></p></div>
<div id="stock-divider"></div>

<p style="text-align: center;">Minimum 10 minute delay</p>


<div id="stock-divider"></div>

<br><br><br>
<!-- end sidenavwrap --></div>

这是我的 proxy.php:

// Set return content type
header('Content-type: application/xml');

// Website url to open
$url = 'http://xml.corporate-ir.net/irxmlclient.asp?compid=XXXXXX&reqtype=quotes';

// Get the content
$handle = fopen($url, "r");

// If there is something, read and return
if ($handle) {
while (!feof($handle)) {
$buffer = fgets($handle, 4096);
echo $buffer;
}
fclose($handle);
}

这是我通过代理提取数据的 jQuery:

<script>
$(document).ready(function(){

$.get("includes/proxy.php", function (data){

// Some callback functions
var stockPrice = ($(data).find('Trade').text());
var changeValue = ($(data).find('Change').text());
var stockVolume = ($(data).find('Volume').text());

var changePercentLong = (changeValue / (stockPrice - changeValue)) * 100;
var changePercent = changePercentLong.toFixed(2);

$('#stockPrice').html('$' + stockPrice);
$('#changePercent').html(changeValue + ' (' + changePercent + '%)');
$('#stockVolume').html(stockVolume);

if (changeValue >= 0) {
$('#changePercent').removeClass('stockpriceneg').addClass('stockprice');
} else {
$('#changePercent').removeClass('stockprice').addClass('stockpriceneg');
}

});

});
</script>

更新 2: 仍然没有在控制台中收到任何错误,现在我可以正确显示第一个变量,但其他变量只显示 0(它们应该是 -0.23,一些与前一个变量的数学运算,以及 5039270 分别):

My front-end result

我认为这实际上只是我的 jQuery 中的一个语法错误,但我的 JS/jQuery 还不够完善,无法发现它。我相信更有经验的人可以在一秒钟内找出问题所在。谁能告诉我我在这里做错了什么?非常感谢!

最佳答案

这是最终与我在原始问题中发布的 PHP 代理一起工作的 jQuery:

<script>
$(document).ready(function(){

$.get("includes/proxy.php", function (data){

// Some callback functions
var stockPrice = ($(data).find('Trade').text());
var changeValue = ($(data).find('Change').text());
var stockVolume = ($(data).find('Volume').text());

var changePercentLong = (changeValue / (stockPrice - changeValue)) * 100;
var changePercent = changePercentLong.toFixed(2);

$('#stockPrice').html('$' + stockPrice);
$('#changePercent').html(changeValue + ' (' + changePercent + '%)');
$('#stockVolume').html(stockVolume);

if (changeValue >= 0) {
$('#changePercent').removeClass('stockpriceneg').addClass('stockprice');
} else {
$('#changePercent').removeClass('stockprice').addClass('stockpriceneg');
}

});

});
</script>

关于jquery - 使用 jQuery 查找 XML 节点并将其放入现有的 HTML 表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43764313/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com