我有一个问题,任何有一点 ajax 知识的人都应该能够相当容易地回答,我只是没有找到我在网上寻找的解释,所以我想我会在这里问。我正在开发一个现有网站,并且之前没有任何 ajax 知识。
有一个 JQuery ajax 调用以这种方式进行:
$.ajax({
url:"/example/url/?x=1&y=2",
type:"GET",
dataType:'JSON',
success: function (data) {
//some code
}
});
我的困惑在于 url 属性。就我而言,“/example/url/”并不引用网站中的任何目录或页面。我知道 x 和 y 是参数,并且网站正在正常工作,但是我不明白当我单击执行此脚本的按钮时会发生什么。我知道它正在从该站点的 SQL Server 数据库中获取数据,我只是不知道查询是如何制定的。如果有人可以准确地举例说明运行此 ajax 调用时会发生什么,我将不胜感激。
最佳答案
首先,您必须了解路径在计算机上是完全任意的。它们只是一种便利,仅此而已。一个更容易让人记住的扩展名称。基本上,“there is no spoon”。
我们喜欢把东西放在“文件柜”中,因为这就是东西在“真实”世界中存在的方式。如果你把东西放在最上面的抽屉里,它就不能同时放在最下面的抽屉里。所以我们倾向于围绕“文件夹”的概念来组织事物。路径是此概念的扩展 - 文件夹中的文件夹。
对于服务器来说,路径只不过是一个字节数组。大多数服务器使用此路径作为遵循操作系统文件系统规则的扩展名称,但并非必须如此。事实上,Microsoft 的 MVC 平台根本不使用路径作为文件的引用。相反,路径用于对命令进行分组,更像是具有菜单和子菜单的菜单系统。
//MyDomain.com/File/New
//MyDomain.com/File/Open
//MyDomain.com/File/Save
//MyDomain.com/File/SaveAs
//MyDomain.com/Edit/Copy
//MyDomain.com/Edit/Cut
//MyDomain.com/Edit/Paste
所以当你问“这个 URL 指向什么?”时答案完全取决于服务器以及服务器如何选择解释该 URL(这最终是由服务器编程人员做出的决定)。一些服务器在一定程度上遵守文件系统,其他服务器使用 URL 作为组织命令的方式,还有一些服务器混合使用两者。我确信还有其他方法可以使用该 URL,但我想您已经明白了。
使用服务器端代码,通常可以覆盖服务器的默认行为。例如,在 ASP.NET 中,可以拦截请求并手动处理它们。因此,虽然 ASP.NET 的默认行为是获取特定文件夹中的文件,但您实际上可以实现类似于 MVC 的行为。在 MVC 中,可以执行相反的操作 - 让服务器根据相对 URL 路径提供文件。因此,了解服务器的默认行为仍然不能完全回答问题,因为网站开发人员可能出于某种原因更改了该行为。
关于jquery - AJAX简单解释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25631570/