我正在使用jQuery做POST
- 请求似乎成功了。但是我如何在服务器端使用它并修改响应呢?
我是否需要另一个servlet,因为Faces Servlet不是为了解决这个问题而设计的?
$.ajax({type:'POST', data:{"status":status}, success: function(response) {
alert("Qapla'");
}});
用于以下过程:
commandButton
调用JS 有一种情况可能需要对使用过的inputText
进行失败的验证:在第2点,服务器将地理数据评定为无效。
答案 0 :(得分:4)
如果通过常规JSF发送ajax POST意味着(UICommand
组件,jsf.ajax.request()
等,<h:commandButton>
,<p:remoteCommand>
,<o:commandScript>
等的风格)由于某些原因,你的问题中没有指定,所以真的不是一个选项,那么你确实最好创建一个单独的servlet甚至是JAX-RS或JAX-WS webservice来监听这些请求并返回例如XML,JSON等.JSF是基于HTML表单的MVC框架,而不是Web服务框架。
您只需要考虑在以后操作JSF组件的HTML表示时正确处理JSF视图状态。例如。当您使用自定义JS / ajax启用由<h:commandButton>
生成的禁用HTML按钮而不涉及/通知JSF时,它将不会在JSF组件状态中显示为启用,并且永远不会调用其操作。