![](/img/trans.png)
[英]Parse JSON data from a website with HTTP request with javascript
[英]HTTP(S) Request With Javascript and receive JSON data
因為我是 http(s) 請求案例的新手,我這里有一個案例必須用 Javascript 編寫,希望有人能幫助我,因為我到處搜索但找不到答案。 這是這種情況:
但是,當連接速率上升到5時,我將不得不等待其中一個完成相應的再發送請求,這樣其中的2個或更多不會超過5。另外,當響應碼不是200時,我會重試3次。 如果重試 3 次后響應碼仍然不是 200,則錯誤函數將繼續執行。 我還必須接收響應主體的 Json 數據作為參數函數。
<!DOCTYPE html>
<html>
<head>
<script>
function loadXMLDoc()
{
var xmlhttp;
if (window.XMLHttpRequest)
{
xmlhttp=new XMLHttpRequest();
}
else
{
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
}
else if (xmlhttp.readyState==4 && xmlhttp.status!=200){
document.write("Error");
}
}
xmlhttp.open("GET","demo_get.asp",true);
xmlhttp.send();
}
</script>
</head>
<body>
<h2>AJAX</h2>
<button type="button" onclick="loadXMLDoc()">Request data</button>
<div id="myDiv"></div>
</body>
</html>
請在下面的評論中提供幫助,或者您可以向我推薦可以幫助我解決此案例的鏈接。 謝謝。
像這樣的東西?
關於連接率,您可以使用此方法進行多個方向,因為它不是 100% 清楚您想要什么。 最簡單的解決方案是讓您的 asp 頁面將“假錯誤”作為 json 對象返回,並讓success
函數檢查響應是否包含此“假錯誤”。 如果是,則將請求重新發送到服務器。 或者,如果連接速率 < 5,您可以讓 asp 頁面僅發送響應,但這可能意味着您的用戶最終等待的時間比預期的要長。
var getJSON = function getJSON( resource, success, failure ) {
var xmlhttp = (window.XMLHttpRequest) ? xmlhttp=new XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHTTP");
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState === 4 && xmlhttp.status === 200) {
retry = 0;
success(xmlhttp.responseText, 200);
}
else failure(xmlhttp.status);
}
xmlhttp.open("GET", resource, true);
xmlhttp.send();
},
retry = 0,
success = function success( response, status ) {
document.querySelector("#myDiv").textContent = response;
},
failure = function failure( status ) {
if (retry < 3) {
retry += 1;
getJSON("demo_get.asp", success, failure);
}
else console.log('ERROR');
};
document.querySelector('button').addEventListener('click', function( event ) {
getJSON("demo_get.asp", success, failure);
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.