У вас меняется только index - параметр функции. По сути - локальная переменная
А глобальная, описанная в строке 23 никак не меняется.
<html>
<head>
<title></title>
<style>
body
{
margin: 0;
}
canvas
{
width:100%;
height:100%
};
</style>
</head>
<body>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.js"></script>
<div id="result"></div>
<script>
var index = 0;
function ajax_query(filename)
{
$.ajax({
type: "POST",
url: 'test.php',
data: "flname="+filename+"&num="+index,
dataType: "json",
success: function(response)
{
if(response.result=="success")
{
index = response.num;
jQuery('#result').html(index);
}
}
});
console.log(index);
}
function main()
{
setInterval(ajax_query,1000,'ex.txt');
}
main();
</script>
</body>
</html>