1

我想在 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 框架或开发工具,我不会感兴趣。

谢谢!

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

4

5 回答 5

3

它通常比上面的 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 美元

于 2009-03-07T20:52:45.147 回答
1

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

$.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()等等。

关于浏览器的差异,我强烈建议你从一个 CSS 重置开始,比如Yahoo 的 reset CSS(还有其他的)。

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

于 2009-03-07T20:16:07.670 回答
1
  1. jQuery 不是必不可少的,但它非常有用。
  2. 没听说过
  3. 我认为一个js框架就足够了。所以我推荐jQuery。
  4. CSS 重置不会解决所有兼容性问题,但它可以提供很大帮助。有关终极 CSS 重置,请参阅Eric Meyer 的 CSS 重置
  5. 试试http://browsershots.org/
  6. 我在这里没有任何建议。
  7. 用于调试 javascript - firebug(firefox 扩展)。您还可以尝试使用 fiddler 检查服务器和客户端之间传递的内容。
于 2009-03-07T20:29:16.030 回答
1

对于发出 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

于 2009-03-07T20:36:53.453 回答
0

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

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

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

于 2009-03-07T20:35:52.427 回答