首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Javascript JQUERY AJAX:什么时候实现这些

Javascript JQUERY AJAX:什么时候实现这些
EN

Stack Overflow用户
提问于 2010-04-29 01:36:28
回答 3查看 228关注 0票数 1

我正在学习javascript。在这个很棒的网站上搜集情报。不断遇到关于javascript、JQUERY、使用AJAX的JQUERY、使用JQUERY的javascript、单独使用AJAX的问题/答案。我的结论是:这些都是各自强大和有用的。我的困惑:如何确定使用哪种组合?

我的结论是javascript在大多数浏览器上都是现成的。例如,我可以用以下命令扩展一个简单的HTML页面

代码语言:javascript
运行
复制
<html>
<body>

<script type="text/javascript">
document.write("Hello World!");
</script>

</body>
</html>

然而,在Python/DJANGO的范围内,这些问题中的许多都与JQUERY和AJAX相关。在哪一点上,或者在什么开发环境下,我会得出结论,单独使用javascript是不会“解决问题”的,我需要实现JQUERY和/或AJAX和/或其他一些组合?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-04-29 02:01:43

由于您是Javascript开发的新手,我将尝试使用相关的示例。

你可以在StackOverflow上投票通过或否决问题。您的投票操作将发送到服务器,并在那里进行记录。如果不是AJAX (和其他一些技术),整个页面都需要为该操作刷新。AJAX解决了与服务器异步通信的问题,而不需要重新加载整个页面。

jQuery是一个库,可以方便地访问常见的Javascript任务,如DOM操作、AJAX处理等。jQuery还隐藏了浏览器的差异,并为最终用户提供了一致的界面。要说明这两点,请参阅以下示例:

查找页面上的所有div元素

代码语言:javascript
运行
复制
// Javascript
var divs = document.getElementsByTagName("div")

// jQuery
$("div")

向按钮添加单击事件处理程序(说明浏览器的区别)

对于纯Javascript,最好创建一个跨浏览器的方法来添加事件,因为您肯定不想每次都编写此代码。来源- http://www.scottandrew.com/weblog/articles/cbs-events

代码语言:javascript
运行
复制
function addEvent(obj, evType, fn, useCapture){
    if (obj.addEventListener) { // standards-based browsers
        obj.addEventListener(evType, fn, useCapture);
        return true;
    } else if (obj.attachEvent) { // IE
        var r = obj.attachEvent("on"+evType, fn);
        return r;
    } else { // some unknown browser
        alert("Handler could not be attached");
    }
}

​设置完成后(仅一次性),您可以使用此函数将事件添加到任何元素。

代码语言:javascript
运行
复制
// Javascript
var button = document.getElementById("buttonID");
addEvent(button, "click", function() { alert("clicked"); }, false);

// jQuery (contains code similar to above function to handle browser differences)
$("#buttonID").click(function() { alert("clicked"); });

AJAX是Javascript的一部分,本身并不是一项独立的技术。当您需要从服务器发送/接收数据时,您可以使用AJAX来避免执行整个页面刷新。

jQuery、MooTools、Dojo、Ext.JS、Prototype.JS和许多其他库都提供了一个围绕Javascript的包装器,以抽象出浏览器之间的差异,并提供了一个更容易使用的接口。问题是,你们是否愿意自己重新做所有这些工作。如果您不确定可能需要重新做什么,那么研究常见任务的纯Javascript示例可能是一个很好的开始,例如AJAX调用、DOM操作、事件处理,以及抽象出浏览器的怪癖,并将这些示例与jQuery等库中的等价物进行比较。

票数 2
EN

Stack Overflow用户

发布于 2010-04-29 01:41:00

  • Javascript是在浏览器中运行客户端的代码。
  • AJAX是一个术语,用于表示Javascript直接联系F29服务器并获得响应的过程,而不是用户导航到其他页面的过程。
  • jQuery是一个javascript库,它在AJAX和浏览器DOM
  • 上提供易于使用的抽象。DOM
  • Django是运行服务器端

<代码>F29的Python代码

在某些情况下,您可以在客户端或服务器上执行相同的操作。但是,通常情况下,您可以通过问自己“需要使用的资源在哪里?”来确定是否应该使用客户机/服务器。例如,查询数据库将在where服务器上完成,因为那是资源所在的位置。相反,重新排列网页的UI是在客户端完成的,因为这是UI所在的位置。

单独使用Javascript总是可以“解决问题”,但是jQuery带来的好处是,它使事情变得更容易、更快,并且在进行AJAX和DOM操作时省去了许多浏览器问题。

票数 4
EN

Stack Overflow用户

发布于 2010-04-29 01:47:08

原因与您选择使用Django而不是单独使用Python完全相同。

jQuery是一个javascript库,它会让你的生活变得更简单,并且扩展了javascript。

除了jQuery很有用之外,我建议你先学习javascript,因为你应该已经学会了python才能使用Django。

要恢复,请执行以下操作:

纯javascript =>简单代码,本机函数可以满足您的需要

jQuery =>代码复杂,应用丰富,函数不存在于纯javascript中(比如$.each()方法)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2731825

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档