jQuery getJSON()
本帖最后由 平淡最真 于 2020-12-3 20:18 编辑a=$.getJSON("www.baidu.com");a.responseText;
这样返回undefined
a=$.getJSON("www.baidu.com");
enter然后再输入
a.responseText
这样就有返回。
百度试了很多方法没解决。
就算在浏览器F12怎么样修改才不需要分两次输入? getJson是ajax请求,可以用$.getJSON("www.baidu.com", function(data) {//处理返回数据 });
参见jquery api文档:https://api.jquery.com/jquery.getjson/ bookaccount 发表于 2020-12-3 00:17
getJson是ajax请求,可以用$.getJSON("www.baidu.com", function(data) {//处理返回数据 });
参见jquery...
这个我能查到的,但是没理解。//处理返回数据换成 alert("123")都没反应 里面写什么都是返回整个网页的数据 平淡最真 发表于 2020-12-3 00:33
这个我能查到的,但是没理解。//处理返回数据换成 alert("123")都没反应 里面写什么都是返回整个网页 ...
首先,getJson是异步请求, 需要在回调函数中处理数据.
其次"alert(123)没反应" 与 "写什么都是返回整个网页的数据"是相悖的. 无返回才会没反应,有返回就会执行alert.
另外,使用getJSON,表示你假想服务端返回json数据,既然有这个前提, 那么服务端(整个网页)的数据不就是你想要的结果么,也不需要纠结了不是么.
a=$.getJSON("www.baidu.com");//ajax为异步请求,不会等你请求完了,再执行下一句。
a.responseText;//这个对象是ajax请求完毕后才会返回,但执行这句时,ajax还未完成,所以此时这个对象是undefined。但如果你过个1s手动执行这句时,ajax早就请求完了,也就解释了为什么每次你手动执行就能获取到对象。 非得用getJSON么,如果只是为了拿到responseText的值而已可以用$.get$.get("www.baidu.com",function(res){
console.log(res)
})
值为:
01.html:13 <!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body>
<p style="width: 100%;text-align: center;font-size: 140px;height: 40px;">404</p>
<p style="width: 100%;text-align: center;font-size: 40px;">Page Not Found</p>
<!-- p style="width: 100%;text-align: center;font-size: 18px;">访问<atarget="_blank">DCloud官网</a>或<atarget="_blank">社区</a></p> -->
<script>document.write('<script src="//' + (location.host || 'localhost').split(':') + ':35929/livereload.js?snipver=1"></' + 'script>')</script><script>document.addEventListener('LiveReloadDisconnect', function() { setTimeout(function() { window.location.reload(); }, 500); })</script></body>
</html> 刚测试了下getJSon默认是异步请求的,主程序到这里会再创建一个线程去处理继续往下执行所以a是空值,不让它异步就行了$.ajaxSettings.async = false;
let a= $.getJSON("www.baidu.com");
console.log(a.responseText)
这样就有值了 上面的都应该说的比较清楚了 fynier 发表于 2020-12-3 08:45
a=$.getJSON("www.baidu.com");//ajax为异步请求,不会等你请求完了,再执行 ...
言简意赅,点评精准。楼主还是没有理解js的异步呀
页:
[1]