Задать вопрос

Как провернуть такую рандомизацию ответов на ajax-запрос в js?

Допустим есть 3 заготовленных json файла с возможными ответами на ajax-запрос.
1. {"status":"success"}
2. {"status":"error", "reason":String}
3. {"status":"progress", "timeout":Number}
У каждого статуса свое поведение для html, в первом случае будет просто зеленый блок, во втором случае будет красный блок + причина ошибки, в третьем случае будет повторный ajax-запрос через timeout миллисекунд.
Как сделать это через один ajax-запрос на один файл js или json, чтобы рандомно выдавался один из трех ответов?
  • Вопрос задан
  • 208 просмотров
Подписаться 1 Оценить 1 комментарий
Решения вопроса 1
Exploding
@Exploding
wtf?
Вот на jq вариант.
Код не проверял, возможно где-то подправить надо...
function getRandomInt(min, max) {
    return Math.floor(Math.random() * (max - min + 1)) + min;
}
var myAnswerRandomFileId = getRandomInt(1,3);
$.ajax({
	cache: false,
	type: "GET",
	url: "this_is_fiiiiiile_"+myAnswerRandomFileId+".json",
	success: function(msg){
		var rnd = msg[getRandomInt(0,msg.length)];
		$("#my-unique-div").addClass(rnd.status);
	}
});
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
Имя файла, к которому обращаетесь, рандомите в аякс-запросе и всё (1.js, 2.js, 3.js).
Ответ написан
Комментировать
twobomb
@twobomb
Если я все правильно понял и нужно на php то так.

<?PHP
$jsons = [
'{"status":"success"}',
'{"status":"error", "reason":String}',
'{"status":"progress", "timeout":Number}'];
echo $jsons[rand(0,count($jsons)-1)];
?>
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы