【发布时间】:2017-06-02 21:08:46
【问题描述】:
我想知道是否可以使用 javascript 发出 GET 请求,这样它就可以在不刷新页面的情况下更新文本。
如果可能的话,我如何使用 javascript 发出 get 请求并从 json 获取结果/解码?
我从过去的问题中尝试过这个:
function updateButton(){
var xmlHttp = null;
xmlHttp = new XMLHttpRequest();
xmlHttp.open("GET", "http://xxxx.com/getSpecialSale.php", false);
xmlHttp.send(null);
document.getElementById("dicebutton").innerHTML=xmlHttp.responseText;
}
而且,它完全停止了主线程,使网站无响应。怎么了?
【问题讨论】:
-
不要将
false传递给xmlHttp -
Async 设置为 false(
.open的第三个参数),因此它将锁定 UI 直到完成。您的代码需要修改才能使用 async true。 -
是的 - 但是为什么需要 aysnc 来获取数据?我担心的不是性能,即使它应该在主线程上,脚本也无法正常工作。
-
不管
GET还是POST;需要 async 以在等待服务器回复时不要让 JS 戛然而止。不过,你能澄清一下问题是什么吗?网站是否在短时间内无响应?还是完全崩溃了? -
AJAX 请求应该是异步的。先解决这个问题。之后有什么问题吗?
标签: javascript php frontend backend