Я использую простой вызов ajax при загрузке и onclick, я использую функцию для него. Вот мой URL вызова ajax отличается от onload и onclick, я использовал функцию и другой параметр, но он все еще показывает предыдущий json, используя onclick.Ниже мой код, обновленный в plunker https://plnkr.co/edit/YOeklbX5shZCnHVRktyK?p=preview
html
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="script.js"></script>
<div id="critical">
<span id="name1"></span> : <span id="value1"></span>
</div>
<div id="major">
<span id="name2"></span> : <span id="value2"></span>
</div>
<div id="minor">
<span id="name3"></span> : <span id="value3"></span>
</div>
<button>click</button>
javascript
$(document).ready(function(){
$.fn.reload_cart = function(){
$.ajax({
type: "GET",
url: "1.json",
success: function(result) {
$("#name1").text(result.critical[0].name);
$("#value1").text(result.critical[0].value);
$("#name2").text(result.major[0].name);
$("#value2").text(result.major[0].value);
$("#name3").text(result.minor[0].name);
$("#value3").text(result.minor[0].value);
}
});
}
$.fn.reload_cart();
$("button").click(function(){
var url2;
$.fn.reload_cart(url2);
url2: "2.json";
});
});
1.json
{
"critical": [{
"name": "critical",
"value": "50"
}],
"major": [{
"name": "major",
"value": "40"
}],
"minor": [{
"name": "minor",
"value": "20"
}]
}
2.json
{
"critical": [{
"name": "criticalnew",
"value": "53"
}],
"major": [{
"name": "majornew",
"value": "43"
}],
"minor": [{
"name": "minornew",
"value": "23"
}]
}