1、用document.getElementById().value取到输入框里的股票代码,拼接到url。
2、注意ajax默认是异步请求,需要把async属性设为false。
3、请求成功前,浏览器会运行后面的脚本,用户也能进行其他操作,同步请求会在请求成功前锁住浏览器,直到请求成功后再向下运行。
4、必须等待请求到的数据才能进行后续步骤,固设置为同步请求。
5、新浪提供的这个接口会返回信息,用split(’~’)将字符串分段为数组,取message[3],第四段数据赋值给全局变量date。
6、最后,让这些功能函数在点击查询后定时调用。
<script type="text/javascript">//请求函数
function f1(){
console.log('start')
//1.创建AJAX对象
var ajax = new XMLHttpRequest()
//4.给AJAX设置事件(这里最多感知4[1-4]个状态)
ajax.onreadystatechange = function(){
//5.获取响应
//responseText 以字符串的形式接收服务器返回的信息
//console.log(ajax.readyState)
if(ajax.readyState == 4 && ajax.status == 200){
var msg = ajax.responseText
console.log(msg)
//alert(msg)
var divtag = document.getElementById('result')
divtag.innerHTML = msg
}
}
//2.创建http请求,并设置请求地址
var username = document.getElementsByTagName('input')[0].value
var email = document.getElementsByTagName('input')[1].value
username = encodeURIComponent(username) //对输入的特殊符号(&,=等)进行编码
email = encodeURIComponent(email)
ajax.open('get','response.php?username='+username+'&email='+email)
//3.发送请求(get--null post--数据)
ajax.send(null)
}
</script>
跨域了呗,你的网站中引用的JS,不管这个JS文件是你自己的还是别人的,都无法使用AJAX请求不同域名的地址。一般这类问题会用JSONP来解决,不过JSONP对服务器返回的数据结构有要求。
至于什么是跨域和JSONP,百度一下,你就知道。