ajax+新浪股票,使用ajax技术无刷新动态调用新浪股票实时数据

本文介绍了一位开发者因为网速问题无法顺利查看新浪财经频道的股票信息,于是利用Ajax和jQuery自制了一个自动获取股票实时数据的页面。代码示例中展示了如何通过Ajax请求获取指定股票的列表,并解析数据,实时更新股票的当前价格、涨跌幅度等关键信息。同时,提供了使用Prototype实现的相同功能的代码作为对比。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

新浪的财金频道一直感觉做得很好。但由于最近网速慢的缘故,查看股票信息时网页老是打不开。这几天一直在研究ajax,于是用jquery自己做了一个自动读取新浪股票实时数据的页面。

ajax test

function ajaxRequest()...{

$.ajax(...{

url: 'http://hq.sinajs.cn/list=sh000001,sh601939,sh600016,sh600528,sh600667,sh601390,sh601398,sh601857,sh600028',

type: 'GET',

dataType: 'html',

timeout: 2000,

success: function(response)...{

var stocks = response.split(';');

for(var i=0; i

var content = stocks[i];

var temp1 = content.split('=')[0];

var temp2 = content.split('=')[1];

var code = temp1.substr(temp1.length - 6, 6);

var temp3 = temp2.replace('"', '');

var name = temp3.split(',')[0];

var tday_f = temp3.split(',')[1];

var yest_f = temp3.split(',')[2];

var curr_f = temp3.split(',')[3];

var temp_f = curr_f - yest_f;

$('#a'+i).html(code);

$('#b'+i).html(name);

if(curr_f > yest_f) ...{

$('#c'+i).html("" + curr_f + "");

} else if(curr_f < yest_f) ...{

$('#c'+i).html("" + curr_f + "");

} else ...{

$('#c'+i).html(curr_f);

}

$('#d'+i).html(tday_f);

$('#e'+i).html(yest_f);

if(temp_f > 0) ...{

$('#f'+i).html("" + temp_f.toFixed(2) + "");

$('#g'+i).html("" + ((temp_f / yest_f) * 100).toFixed(2) + " % ");

} else if(temp_f < 0) ...{

$('#f'+i).html("" + temp_f.toFixed(2) + "");

$('#g'+i).html("" + ((temp_f / yest_f) * 100).toFixed(2) + " % ");

} else ...{

$('#f'+i).html(temp_f.toFixed(2));

$('#g'+i).html(((temp_f / yest_f) * 100).toFixed(2) + " % ");

}

$('#h'+i).html(temp3.split(',')[4]);

$('#i'+i).html(temp3.split(',')[5]);

}

}

});

}

function pageInit() ...{

window.setInterval("ajaxRequest()",3000);

}

.tr_cls {...}{

height:30px;

font-size:16px;

font-family:"Times New Roman", Times, serif;

background-color:#FFFFCC

}

股票代号股票名称当前价格今日开盘昨日收盘当前差价涨跌幅度最高价格最低价格

习惯用prototype的,把脚本部分的代码替换一下即可。

复制代码 代码如下:

function ajaxRequest()...{

var myAjax = new Ajax.Request(

'http://hq.sinajs.cn/list=sh000001,sh601939,sh600016,sh600528,sh600667,sh601390,sh601398,sh601857,sh600028',

...{

method: 'get',

onComplete: setData

}

);

}

function setData(response) ...{

var contents = response.responseText;

var stocks = contents.split(';');

for(var i=0; i

var content = stocks[i];

var temp1 = content.split('=')[0];

var temp2 = content.split('=')[1];

var code = temp1.substr(temp1.length - 6, 6);

var temp3 = temp2.replace('"', '');

var name = temp3.split(',')[0];

var tday_f = temp3.split(',')[1];

var yest_f = temp3.split(',')[2];

var curr_f = temp3.split(',')[3];

var temp_f = curr_f - yest_f;

$('a'+i).innerHTML = code;

$('b'+i).innerHTML = name;

$('c'+i).innerHTML = curr_f;

if(curr_f > yest_f) ...{

$('c'+i).innerHTML = "" + curr_f + "";

} else if(curr_f < yest_f) ...{

$('c'+i).innerHTML = "" + curr_f + "";

} else ...{

$('c'+i).innerHTML = curr_f;

}

$('d'+i).innerHTML = tday_f;

$('e'+i).innerHTML = yest_f;

if(temp_f > 0) ...{

$('f'+i).innerHTML = "" + temp_f.toFixed(2) + "";

$('g'+i).innerHTML = "" + ((temp_f / yest_f) * 100).toFixed(2) + " %";

} else if(temp_f < 0) ...{

$('f'+i).innerHTML = "" + temp_f.toFixed(2) + "";

$('g'+i).innerHTML = "" + ((temp_f / yest_f) * 100).toFixed(2) + " %";

} else ...{

$('f'+i).innerHTML = temp_f.toFixed(2);

$('g'+i).innerHTML = ((temp_f / yest_f) * 100).toFixed(2) + " % ";

}

$('h'+i).innerHTML = temp3.split(',')[4];

$('i'+i).innerHTML = temp3.split(',')[5];

}

}

function pageInit() ...{

window.setInterval("ajaxRequest()",3000);

}

当然页面部分完全可以由脚本自动生成,以及页面动态增减股票信息等功能,就等日后修改吧。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值