<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
<script src="http://127.0.0.1/jquery-3.3.1.min.js"></script>
<script>
function stock(){
code1 = $("#code").val();
if( parseInt(code1).toString().length == 6 && code1.length == 6 ){
$.ajax({
type:"GET",
url:"http://hq.sinajs.cn/list=sh" + $("#code").val(),
beforeSend:function(){$("#price").html("正在查询");},
cache:false,
success:function(data){
alert(data);
str = data.substring(data.indexOf("\"")+1,data.length -1).split(",");
$("#stock").html(str[0]);
$("#price").html(str[3]);
}
});
}
else{
alert("输入有错误");
setTimeout(stock,8000);
}
}
</script>
</head>
<body>
股票代码:
<input id="code" type="text" size="10">
<input id="Search" type="button" onclick="stock()" value="查询">
<br/>
股票名称: <span id="stock"></span>
股票价格: <span id="price"></span>
</body>
</html>
我想跨域调用http://hq.sinajs.cn/ 接口,获得股票数据。
输入一个股票代码600020
报错
Failed to load http://hq.sinajs.cn/list=sh60...: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://127.0.0.1' is therefore not allowed access.
请问,如何修改我的ajax?
要跨域获取新浪股票数据,你需要从新浪的官方API获取数据。以下是获取新浪股票数据的步骤:
注册一个新浪开发者账号并登录。
打开新浪开发者工具。
在工具中,选择"开放API",然后选择"股票API"。
点击"获取数据"按钮,系统会返回一个JSON字符串,这个字符串中包含了你所要求的数据。
使用JSON解析器解析这个字符串,就可以获取到你所要求的数据了。
需要注意的是,新浪股票数据的使用可能会受到新浪服务器的限制,如果你的请求次数过多或者请求时间过长,可能会导致服务器拒绝你的请求。此外,使用新浪股票数据可能会涉及到版权问题,所以在使用之前,你应该先阅读并理解相关的版权条款。