


Use ajax technology to dynamically call Sina stock real-time data without refreshing
Due to the recent slow internet speed, the web page cannot be opened when checking stock information. I have been studying ajax these days, so I used jquery to make a page that automatically reads Sina stock real-time data
Sina's financial channel has always felt that it has done a good job. However, due to the recent slow Internet speed, the web page cannot be opened when checking stock information. I have been studying ajax these days, so I used jquery to make a page that automatically reads Sina stock real-time data.
<html> <head> <title>ajax test</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript">... 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<stocks.length-1; 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("<font color='red'>" + curr_f + "</font>"); } else if(curr_f < yest_f) ...{ $('#c'+i).html("<font color='green'>" + curr_f + "</font>"); } else ...{ $('#c'+i).html(curr_f); } $('#d'+i).html(tday_f); $('#e'+i).html(yest_f); if(temp_f > 0) ...{ $('#f'+i).html("<font color='red'>" + temp_f.toFixed(2) + "</font>"); $('#g'+i).html("<font color='red'>" + ((temp_f / yest_f) * 100).toFixed(2) + "</font> % "); } else if(temp_f < 0) ...{ $('#f'+i).html("<font color='green'>" + temp_f.toFixed(2) + "</font>"); $('#g'+i).html("<font color='green'>" + ((temp_f / yest_f) * 100).toFixed(2) + "</font> % "); } 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); } </script> <style>... .tr_cls {...}{ height:30px; font-size:16px; font-family:"Times New Roman", Times, serif; background-color:#FFFFCC } </style> </head> <body onLoad="pageInit();"> <form> <table width="800" border="1" align="center" cellpadding="0" cellspacing="0" bordercolor="#000000"> <tr bgcolor="#3399FF" height="30px"> <th scope="col">股票代号</th> <th scope="col">股票名称</th> <th scope="col">当前价格</th> <th scope="col">今日开盘</th> <th scope="col">昨日收盘</th> <th scope="col">当前差价</th> <th scope="col">涨跌幅度</th> <th scope="col">最高价格</th> <th scope="col">最低价格</th> </tr> <tr class="tr_cls"> <td align="center"><span id="a0"></span></td> <td align="center"><span id="b0"></span></td> <td align="center"><span id="c0"></span></td> <td align="center"><span id="d0"></span></td> <td align="center"><span id="e0"></span></td> <td align="center"><span id="f0"></span></td> <td align="center"><span id="g0"></span></td> <td align="center"><span id="h0"></span></td> <td align="center"><span id="i0"></span></td> </tr> <tr class="tr_cls"> <td align="center"><span id="a1"></span></td> <td align="center"><span id="b1"></span></td> <td align="center"><span id="c1"></span></td> <td align="center"><span id="d1"></span></td> <td align="center"><span id="e1"></span></td> <td align="center"><span id="f1"></span></td> <td align="center"><span id="g1"></span></td> <td align="center"><span id="h1"></span></td> <td align="center"><span id="i1"></span></td> </tr> <tr class="tr_cls"> <td align="center"><span id="a2"></span></td> <td align="center"><span id="b2"></span></td> <td align="center"><span id="c2"></span></td> <td align="center"><span id="d2"></span></td> <td align="center"><span id="e2"></span></td> <td align="center"><span id="f2"></span></td> <td align="center"><span id="g2"></span></td> <td align="center"><span id="h2"></span></td> <td align="center"><span id="i2"></span></td> </tr> <tr class="tr_cls"> <td align="center"><span id="a3"></span></td> <td align="center"><span id="b3"></span></td> <td align="center"><span id="c3"></span></td> <td align="center"><span id="d3"></span></td> <td align="center"><span id="e3"></span></td> <td align="center"><span id="f3"></span></td> <td align="center"><span id="g3"></span></td> <td align="center"><span id="h3"></span></td> <td align="center"><span id="i3"></span></td> </tr> <tr class="tr_cls"> <td align="center"><span id="a4"></span></td> <td align="center"><span id="b4"></span></td> <td align="center"><span id="c4"></span></td> <td align="center"><span id="d4"></span></td> <td align="center"><span id="e4"></span></td> <td align="center"><span id="f4"></span></td> <td align="center"><span id="g4"></span></td> <td align="center"><span id="h4"></span></td> <td align="center"><span id="i4"></span></td> </tr> <tr class="tr_cls"> <td align="center"><span id="a5"></span></td> <td align="center"><span id="b5"></span></td> <td align="center"><span id="c5"></span></td> <td align="center"><span id="d5"></span></td> <td align="center"><span id="e5"></span></td> <td align="center"><span id="f5"></span></td> <td align="center"><span id="g5"></span></td> <td align="center"><span id="h5"></span></td> <td align="center"><span id="i5"></span></td> </tr> <tr class="tr_cls"> <td align="center"><span id="a6"></span></td> <td align="center"><span id="b6"></span></td> <td align="center"><span id="c6"></span></td> <td align="center"><span id="d6"></span></td> <td align="center"><span id="e6"></span></td> <td align="center"><span id="f6"></span></td> <td align="center"><span id="g6"></span></td> <td align="center"><span id="h6"></span></td> <td align="center"><span id="i6"></span></td> </tr> <tr class="tr_cls"> <td align="center"><span id="a7"></span></td> <td align="center"><span id="b7"></span></td> <td align="center"><span id="c7"></span></td> <td align="center"><span id="d7"></span></td> <td align="center"><span id="e7"></span></td> <td align="center"><span id="f7"></span></td> <td align="center"><span id="g7"></span></td> <td align="center"><span id="h7"></span></td> <td align="center"><span id="i7"></span></td> </tr> <tr class="tr_cls"> <td align="center"><span id="a8"></span></td> <td align="center"><span id="b8"></span></td> <td align="center"><span id="c8"></span></td> <td align="center"><span id="d8"></span></td> <td align="center"><span id="e8"></span></td> <td align="center"><span id="f8"></span></td> <td align="center"><span id="g8"></span></td> <td align="center"><span id="h8"></span></td> <td align="center"><span id="i8"></span></td> </tr> </table> </form> </body> </html>
If you are used to using prototype, just replace the code in the script part.
Copy code The code is as follows:
<script type="text/javascript" src="prototype.js"></script> <script type="text/javascript">... 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<stocks.length-1; 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 = "<font color='red'>" + curr_f + "</font>"; } else if(curr_f < yest_f) ...{ $('c'+i).innerHTML = "<font color='green'>" + curr_f + "</font>"; } else ...{ $('c'+i).innerHTML = curr_f; } $('d'+i).innerHTML = tday_f; $('e'+i).innerHTML = yest_f; if(temp_f > 0) ...{ $('f'+i).innerHTML = "<font color='red'>" + temp_f.toFixed(2) + "</font>"; $('g'+i).innerHTML = "<font color='red'>" + ((temp_f / yest_f) * 100).toFixed(2) + "</font> %"; } else if(temp_f < 0) ...{ $('f'+i).innerHTML = "<font color='green'>" + temp_f.toFixed(2) + "</font>"; $('g'+i).innerHTML = "<font color='green'>" + ((temp_f / yest_f) * 100).toFixed(2) + "</font> %"; } 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); } </script>
The above is what I compiled for everyone. I hope it will be helpful to everyone in the future.
Related articles:
A brief analysis of the use of Ajax in Asp.net MVC
JQuery Ajax dynamically generates Tables
A simple implementation of Ajax showing progress during the request
# #
The above is the detailed content of Use ajax technology to dynamically call Sina stock real-time data without refreshing. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

When you browse the web on your iPhone, the loaded content is temporarily stored as long as the browser app remains open. However, the website updates content regularly, so refreshing the page is an effective way to clear out old data and see the latest published content. This way, you always have the latest information and experiences. If you want to refresh the page on iPhone, the following post will explain you all the methods. How to Refresh Web Pages on Safari [4 Methods] There are several methods to refresh the pages you are viewing on the Safari App on iPhone. Method 1: Use the Refresh Button The easiest way to refresh a page you have open on Safari is to use the Refresh option on your browser's tab bar. If Safa

Is the F5 key not working properly on your Windows 11/10 PC? The F5 key is typically used to refresh the desktop or explorer or reload a web page. However, some of our readers have reported that the F5 key is refreshing their computers and not working properly. How to enable F5 refresh in Windows 11? To refresh your Windows PC, just press the F5 key. On some laptops or desktops, you may need to press the Fn+F5 key combination to complete the refresh operation. Why doesn't F5 refresh work? If pressing the F5 key fails to refresh your computer or you are experiencing issues on Windows 11/10, it may be due to the function keys being locked. Other potential causes include the keyboard or F5 key

When creating a virtual machine, you will be asked to select a disk type, you can select fixed disk or dynamic disk. What if you choose fixed disks and later realize you need dynamic disks, or vice versa? Good! You can convert one to the other. In this post, we will see how to convert VirtualBox fixed disk to dynamic disk and vice versa. A dynamic disk is a virtual hard disk that initially has a small size and grows in size as you store data in the virtual machine. Dynamic disks are very efficient at saving storage space because they only take up as much host storage space as needed. However, as disk capacity expands, your computer's performance may be slightly affected. Fixed disks and dynamic disks are commonly used in virtual machines

Title: Methods and code examples to resolve 403 errors in jQuery AJAX requests. The 403 error refers to a request that the server prohibits access to a resource. This error usually occurs because the request lacks permissions or is rejected by the server. When making jQueryAJAX requests, you sometimes encounter this situation. This article will introduce how to solve this problem and provide code examples. Solution: Check permissions: First ensure that the requested URL address is correct and verify that you have sufficient permissions to access the resource.

Page refresh is very common in our daily network use. When we visit a web page, we sometimes encounter some problems, such as the web page not loading or displaying abnormally, etc. At this time, we usually choose to refresh the page to solve the problem, so how to refresh the page quickly? Let’s discuss the shortcut keys for page refresh. The page refresh shortcut key is a method to quickly refresh the current web page through keyboard operations. In different operating systems and browsers, the shortcut keys for page refresh may be different. Below we use the common W

Build an autocomplete suggestion engine using PHP and Ajax: Server-side script: handles Ajax requests and returns suggestions (autocomplete.php). Client script: Send Ajax request and display suggestions (autocomplete.js). Practical case: Include script in HTML page and specify search-input element identifier.

jQuery is a popular JavaScript library used to simplify client-side development. AJAX is a technology that sends asynchronous requests and interacts with the server without reloading the entire web page. However, when using jQuery to make AJAX requests, you sometimes encounter 403 errors. 403 errors are usually server-denied access errors, possibly due to security policy or permission issues. In this article, we will discuss how to resolve jQueryAJAX request encountering 403 error

How to solve the problem of jQueryAJAX error 403? When developing web applications, jQuery is often used to send asynchronous requests. However, sometimes you may encounter error code 403 when using jQueryAJAX, indicating that access is forbidden by the server. This is usually caused by server-side security settings, but there are ways to work around it. This article will introduce how to solve the problem of jQueryAJAX error 403 and provide specific code examples. 1. to make
