对简单AJAX的建议?

时间:2009-03-07 20:12:25

标签: javascript jquery ajax dhtml

我想在AJAX中变得更聪明,但不确定要走哪条路。我在当天做了一些DHTML编程 - 就像8年前一样!在它被称为AJAX之前。我使用emacs并手动编码所有的javascript,通过“Alert”调试。

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

  1. 是jQuery不可或缺的吗?很高兴有吗?
  2. 项目SACK怎么样?
  3. 萤火虫?
  4. 您推荐的任何其他免费图书馆或框架?或推荐?
  5. 对于一个非常简单的项目我发现FF与IE compat有很多陷阱。如果没有进行关于谁是对的以及谁出错的宗教辩论,那么有哪些提示可以导航雷区以生成在任何浏览器上工作且看起来大致类似的应用程序。一个人有一个提示: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表达式,我想知道是否有类似的JIT工具用于xpath。那么调试和开发Javascript本身呢?
  9. 大多数情况下,我对客户端方面感兴趣。到目前为止,我对ASP.NET AJAX等集成客户端+服务器方法并不感兴趣。如果您告诉我有关仅使用Ruby的客户端AJAX框架或开发工具,我不会感兴趣。

    谢谢!

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

5 个答案:

答案 0 :(得分: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作为一个方便的参考(但我希望雷米将其更新为1.3.2)

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

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

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

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

答案 1 :(得分:1)

我个人认为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也是很受欢迎的插件。

答案 2 :(得分:1)

  1. jQuery不是必不可少的,但它非常有用。
  2. 从未听说过
  3. 我认为一个js框架已经足够了。所以我推荐jQuery。
  4. CSS重置不会解决所有兼容性问题,但它可以显着帮助。有关最终css重置的信息,请参阅Eric Meyer's CSS reset
  5. 尝试http://browsershots.org/
  6. 我这里没有任何建议。
  7. 用于调试javascript - firebug(firefox扩展)。您还可以尝试使用fiddler来检查服务器和客户端之间传递的内容。

答案 3 :(得分: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} );

您可以将方法从“发布”更改为“获取”。 帕尔斯可以是任何东西。此外,它对于发布请求看起来相同。因此,如果您要对名为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

答案 4 :(得分:0)

我也非常推荐使用JQuery。它让生活变得如此简单。

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

你必须尽可能多地在尽可能多的系统中尝试它。