Distinguish ajax requests from full requests in JSF custom validator

后端 未结 2 1598
北海茫月
北海茫月 2021-02-20 05:27

My validator needs to know if it is a full request or an ajax request. In my current solution I check the http request header for the X-Requested-With element:

相关标签:
2条回答
  • 2021-02-20 05:53

    I would not rely on http header. Never tried it by myself, but you could do the following:

    PartialViewContext pvc = facesContext.getPartialViewContext();
    if(pvc.isAjaxRequest()) {
    // ...
    } else {
    // ...
    }
    

    Another option is using isPartialRequest() instead of isAjaxRequest()

    0 讨论(0)
  • 2021-02-20 06:04

    I'd that it is a reliable way to check it. This is exactly how for example Django checks for AJAX requests:

     def is_ajax(self):
            return self.META.get('HTTP_X_REQUESTED_WITH') == 'XMLHttpRequest'
    

    Also listed here as such: http://en.wikipedia.org/wiki/List_of_HTTP_header_fields

    0 讨论(0)
提交回复
热议问题