【问题标题】:Recommendations for simple AJAX? [closed]对简单 AJAX 的建议? [关闭]
【发布时间】:2010-10-11 23:11:03
【问题描述】:

我想在 AJAX 中变得更聪明,但不知道该走哪条路。我曾经做过一些 DHTML 编程——就像 8 年前一样!在它被称为 AJAX 之前。我使用 emacs 并对所有的 javascript 进行了手工编码,并通过“Alert”进行了调试。

在这一点上,我认为有一些框架可以让事情变得更好、更容易,但哪些框架呢?从哪儿开始?建议?

  1. jQuery 是必不可少的吗?很高兴拥有?
  2. SACK 项目呢?
  3. 萤火虫?
  4. 您推荐的任何其他免费库或框架?还是不推荐?
  5. 对于一个非常简单的项目,我发现 FF 与 IE 兼容存在大量缺陷。在没有进入关于谁是对谁错的宗教辩论的情况下,有什么技巧可以帮助您在雷区中导航以生成在任何浏览器上都可以工作且看起来几乎相似的应用程序。一个人有一个提示:insert * {padding:0; margin:0;} 在他的 .css 堆栈的顶部,因为 FF 和 IE 对于 UL OL 等元素都有不同的默认填充和边距。有这样的提示列表吗?指导?
  6. 我没有 Mac,我真的不想承担跨所有版本和平台的 IE、FF、Opera、Safari、Chrome 的测试费用。提示?这里有 80% 的解决方案吗?就像我在 FF 和 IE 上测试一样,我能猜到它会在其他人身上工作吗?
  7. 教程网站上的提示,开始了吗?那里有大量的信息,这是去的好地方。特别是,由于 DHTML 大约在 10 年前出现,因此我的谷歌搜索出现了一些非常陈旧的信息。
  8. 调试和开发工具?我在网上的 zvon.org 上找到了一个 xpath 即时评估器。这很好,但没有我想要的那么灵活。这是我认为非常宝贵的东西。 xsl 和 xpath 必须是我用过的最不透明的语言。当我开始使用正则表达式时,有可用的即时正则表达式工具,如 Expresso 等。这些对于早期开发和学习正则表达式非常宝贵。昨晚我花了很长时间摆弄一个 xpath 表达式,我想知道是否有类似的用于 xpath 的 JIT 工具。那么调试和开发 Javascript 本身呢?

我主要对客户端方面感兴趣。我现在对像 ASP.NET AJAX 这样的集成客户端+服务器方法不太感兴趣。如果您告诉我有关仅适用于 Ruby 的客户端 AJAX 框架或开发工具,我不会感兴趣。

谢谢!

编辑:为什么我被否决了?这是一个不好的问题吗?这对我来说似乎完全合理?不礼貌吗?

【问题讨论】:

    标签: javascript jquery ajax dhtml


    【解决方案1】:

    它通常比上面的 ajax() 函数更容易。大多数时候我只是这样做......

    $('#mydiv').load('http://getsomehtml.php?op=loadmeup');
    

    偶尔添加回调

    document.body.style.cursor = "wait";
    $('#mydiv').load('http://getsomehtml.php?op=loadmeup', function() {
        document.body.style.cursor = "default";
    });
    

    我同意jQuery 是必不可少的。或类似的东西.. 使用原始 javascript 是当今所有浏览器问题的雷区。我喜欢 visualjquery.com 作为方便的参考(但我希望 Remy 将其更新到 1.3.2)

    如果没有Firebug,我无法完成我的工作,所以这完全是必需的。

    我在 PC 上运行 xampplite 进行测试。我使用NotePad++Eclipse PDT 2.0 进行编辑(尤其是服务器端PHP)和CVS,我很高兴...

    我进行多浏览器测试的方式是通过虚拟机。我使用 Sun 的 VirtualBox 和一个加载了所有浏览器的 XP 虚拟机。我经常使用 FF3 和 IE7,所以我的 VM 中有 IE6、FF2、Chrome、Opera 和 Safari。我有时会使用 Ubuntu 8.10 映像,但并不经常使用。

    对于 Regex,获取一份 RegexBuddy 的副本 - 轻松值 40 美元

    【讨论】:

    • 我现在很擅长正则表达式。但是我在 xpath 上仍然有一条陡峭的学习曲线。我想我正在寻找一个 XpathBuddy。
    【解决方案2】:

    我个人认为jQuery是不可或缺的。与 XMLHttpRequest 有很多浏览器差异。 jQuery 简化了这一切。这是example

    $.ajax({
        url: 'document.xml',
        type: 'GET',
        dataType: 'xml',
        timeout: 1000,
        error: function(){
            alert('Error loading XML document');
        },
        success: function(xml){
            // do something with xml
        }
    });
    

    您可以轻松地将其更改为返回 JSON、HTML 等。

    还有一些包装器方法可以大大减少$.load()$.post()等参数的数量。

    关于浏览器的差异,我强烈建议您从 Yahoo's reset CSS 之类的 CSS 重置开始(还有其他)。

    在开发方面,Firefox 是标准,结合了 Firebug(通常是 YSlow)。 HttpFox 和 Web Developer 也是流行的插件。

    【讨论】:

      【解决方案3】:
      1. jQuery 不是必不可少的,但它很有帮助。
      2. 没听说过
      3. 我觉得一个js框架就够了。所以我推荐 jQuery。
      4. CSS 重置不会解决所有兼容性问题,但它可以提供很大帮助。如需终极 CSS 重置,请参阅 Eric Meyer's CSS reset
      5. 试试http://browsershots.org/
      6. 我这里没有任何建议。
      7. 用于调试 javascript - firebug(firefox 扩展)。您还可以尝试使用 fiddler 来检查服务器和客户端之间传递的内容。

      【讨论】:

        【解决方案4】:

        为了发出 Ajax 请求,我使用 http://www.prototypejs.org/
        对于其他一切,我编写自己的 JavaScript。即使淡化 div 很重要,我仍然更喜欢以我的方式来作为一种学习方式。

        关于入门,这是我的快速教程:

        new Ajax.Updater(domId, urlToAPage);
        

        在哪里: domId = html 页面上任何有 id 的东西,只要它不是输入对象。 urlToAPage = 可能是要联系并从中获取数据的页面。

        您可以使请求更复杂:

        new Ajax.Updater(domId, urlToAPage, {method: 'post', parameters: pars} );
        

        您可以将方法从“发布”更改为“获取”。 Pars 可以是任何东西。此外,发布请求看起来相同。因此,如果您想向名为 hello.php 的文件发出请求并发送带有两个参数的 post 参数,则将响应放入名为 'hello' 的 div 中:

        var domId = 'hello';  
        var urltoPage = 'hello.php';  
        var pars = 'hello=1&name=hsbsitez'; 
        

        阅读更多:http://www.prototypejs.org/learn/introduction-to-ajax

        【讨论】:

          【解决方案5】:

          我也强烈推荐使用 JQuery。它让生活变得如此轻松。

          我学到的关于 JS 的一件事是永远不要相信它可以工作。仅仅因为您使用 JQuery 并且它可以在一些浏览器中运行并不意味着它可以在其他浏览器中运行。

          您必须在尽可能多的系统上尽可能多地尝试它。

          【讨论】:

            猜你喜欢
            • 2014-07-17
            • 2010-10-27
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2012-07-06
            • 2010-12-20
            • 1970-01-01
            相关资源
            最近更新 更多