为什么 ajax 状态 ifModified 总是成功?

时间:2021-05-10 21:41:09

标签: javascript json django ajax web

有这么一段ajax代码:

$(document).ready(function(){
    setInterval(poll_for_new_messages, 2000);
    
    function poll_for_new_messages(){
        $.ajax(
            {
                url: 'messages.json',
                type: 'get',
                dataType: 'json',
                ifModified: true,
                cache: true,
                timeout: 2000,
                success: function(messages, status)
                {
                    if (status === "success") {
                        console.log('true')
                    } else {
                        console.log('false')
                    }
                
                }
            }
        )
    };
});

messages.json 结构

[
  {
    "name": "Test",
    "datetime": "09.05.2021 22:05:07",
    "messages": "Hello"
  },
  {
    "name": "Test2",
    "datetime": "09.05.2021 22:05:10",
    "messages": "Hello Help"
  }
]

messages.json 由 views.py 中的一个简单视图处理:

def messages(request):
    messagesPath = os.path.join(os.path.dirname(os.path.realpath(__file__)), 'messages.json')
    messagesFile = json.load(open(messagesPath))

    return JsonResponse(messagesFile, safe=False)

我哪里做错了?当服务器启动时,ajax 按预期每两秒发出一次请求,但每次获得成功状态时,即使没有文件更改。我想在网站上进行一般性聊天,并且我已经通过 ajax 完成了消息的添加,但我还需要确保用户收到所有这些属于 messages.json 的消息如果您提供帮助,我会感激不尽。

0 个答案:

没有答案
相关问题