我用Javascript写了一个函数,这个函数的作用是使用XMLHttpRequest请求数据并读取到arraybuffer中,但是没成功,代码如下:
function loadData(){ var url = "http://www.whitman.edu/mathematics/multivariable/multivariable.pdf"; var xmlhttp = new XMLHttpRequest(); xmlhttp.open("GET", url, true); xmlhttp.responseType = "arraybuffer"; xmlhttp.onload = function() { var response = xmlhttp.response; } xmlhttp.send(); }
执行上面的代码后,不能进入onload函数内,所以response变量一直是undefined。
另外有的时候能够执行成功,比如把变量url指向一个相对地址(我在项目中试过,指向项目中的一个文件,在w3schools.com中指向一个图片文件),都能够成功返回结果。
请问这是为什么呢,我怎样才能使用上面的地址获取数据呢?谢谢。
那是因为你跨域请求了,这种情况你应该用JSONP,所以造成你访问同个web下相对地址的资源是可以的,但是访问别的网站就不行了,参考Access-Control-Allow-Origin