2014-01-09 114 views
-2

我正在使用JSF 1.2版本的JSF应用程序中工作。正如我们所知,JSF 1.2不支持ajax。在我的应用程序中,我需要使用值更改侦听器。但我没有得到预期的结果。我被建议使用ajax标签为价值变化听众获得更好的结果。我已经看到价值变化监听器也在使用ajax标签(在JSF 2.X版本中)。浏览器请求和Ajax请求有什么区别?

我想知道正常形式的请求和ajax请求中发生了什么(在浏览器后面)。请用两个案例的例子来解释我。

+0

您到目前为止做了哪些研究?研究是学习的重要组成部分。如果您已经完成了一些研究,请解释您发现的内容以及您不了解的内容。 –

+0

我已经使用了ajax请求。在Ajax中,它通过xml等脚本语言的帮助传递请求,并以xml的形式获得结果。最后,在不刷新整个页面的情况下,它解码xml格式化结果的结果并显示在html/jsp页面中。但这是我从我的理解中了解到的。我想了解关于这两个请求在后台发生的所有操作的详细说明。我知道这看起来像一个重复的问题。但是我无法从已经提出的问题中得到详细的解释。 – Karthi

回答

2

根据您的服务器行为,AJAX请求很可能是浏览器请求。但当头请求HTTP的headers.Like谷歌浏览器的bahlf执行主要的区别就是附带表明自己的头请求为:

X-要求 - 由于:XMLHttpRequest的 而且每个浏览器都有其自身的头部请求格式在不同的发方式,但主要依赖是客户端。

但是,浏览器在window.location.href =“index.html”中发出常规请求,它清除当前窗口并将服务器响应加载到窗口中。

使用ajax处理请求时,当前的窗口/文档不受影响,并且javascript代码可以检查请求的结果并根据这些结果执行所需操作(将HTML动态插入页面中,解析JSON并使用它页面逻辑,解析XML等)。它取决于您在格式中处理的回复类型。 “在服务器的新阶段,使用GET进行AJAX调用更为常见,这是因为在使用XMLHttpRequest浏览器时,实现POST的过程分两步进行(首先发送头文件然后发送数据),这意味着GET请求更具响应性 - 您在AJAX环境中需要的东西!因为“Ajax”请求受制于相同的起始策略,所以在使用GET而不是POST时存在安全风险。使用GET从服务器“获取”信息,例如加载JavaScript文件(可以使用AJAX速记函数$ .getScript()来做到这一点)或者加载一个JSON文件(AJAX简写函数$ .getJSON()可以用来做到这一点)“。例如, jQuery AJAX默认使用GET的函数:

$.get(), $.getScript(), $.getJSON(), .load() 

    $.ajax({ 
    url: 'getTwitterFollowers.php', 
    type: 'GET', 
    data: 'twitterUsername=jquery4u', 
    success: function(data) { 
    //called when successful 
    $('#ajaxphp-results').html(data); 
    }, 
    error: function(e) { 
    //called when there is an error 
    //console.log(e.message); 
} 
}); 
相关问题