2011-12-30 59 views
4

使用AJAX,当我们执行JSON请求,我们首先必须通过响应通过eval接收:jQuery的对AJAX

var quote=eval("(" + xhr.responseText + ")"); 

之后,使用从它的一些信息,一个人必须做一些OLD-学校的JavaScript:

document.getElementById("textarea").value=xhr.responseText; 

...或使用特定的信息,我们使用createTextNode这样的:

// price is retrieved from PHP. 
var text=document.createTextNode(price + ":" + quote.price); 

来到jQuery的,同样的事情是如此简单:

$.get("file.php",function(data){ 
    var text=data.price; 
}); 

为什么我需要在jQuery的本身使用AJAX当有可用的AJAX方法呢?

我不知道关于AJAX可以和jQuery不能做什么的先进的东西,反之亦然。什么是AJAX和jQuery各有用,什么时候应该使用哪些?

+1

你是在比较苹果和橘子。 – 2011-12-30 07:11:27

+0

检查了这一点:http://stackoverflow.com/questions/3870086/difference-between-ajax-and-get-and-load – Sang 2011-12-30 07:12:05

+1

@LokiAstari ...可能是。这就是为什么我提出了这个。只是为了确保我明确未来不会比较苹果和橘子。请看看你能否帮助我! – kushalvm 2011-12-30 07:14:47

回答

3

jQuery是一个JavaScript库,它使得编写javascript在跨浏览器问题方面很容易,并提供了几种实用程序方法。 Ajax是JavaScript中的一种技术,通过它可以访问某些服务器端代码,并使用从中获得的结果来操作您的dom。 jQuery在AJAX的情况下也提供了跨浏览器问题的免费包装方法来执行相同的事情。所以jQuery只是一个帮助库,它可以帮助你以更简单的方式实现几件事情,其中​​一个也可以是ajax。

+0

@sushil ....所以如果一个人正在学习JQuery,那么就没有必要去AJAX的方式......这是你想说的吗?或者只是建议我选择哪一个? – kushalvm 2011-12-30 07:21:57

+0

你需要了解ajax的原则。 jQuery提供了一组方法来帮助您以更简单的方式编写ajax。非常喜欢,如果你正在学习jQuery,你应该首先知道JavaScript是什么以及做什么的。 – 2011-12-30 07:24:36

+0

...等待一个人学习jquery及其方法时,会自动知道这会对他做什么。在深入jquery之前,我几乎没有详细学习任何javascript。所以我也相信ajax(纠正我,如果我错了)。我的意思是在Juery中有各种AJAX方法可用,并且如果知道ajax所做的基本事情(只需从服务器检索下面的数据并根据需要操纵DOM)。我还需要了解关于ajax的更多信息? – kushalvm 2011-12-30 07:41:44

0

请记住,jquery是ajax框架库。 Ajax是一种可以使用XMLHttpRequest(xhr)或jquery实现的异步通信机制。 jQuery是由第三方支持的库。其中一种机制足以实现Ajax功能。

+0

@thinksteep ...所以如果有人在学习Jquery,那么就没有必要去AJAX的方式......这是你想说的吗? – kushalvm 2011-12-30 07:20:30

+1

将ajax认为是<通信机制>,您可以使用陆地电话(xmlhttprequest)或单元(jquery)或卫星电话(其他框架)。 – kosa 2011-12-30 07:39:37

+0

@thinksteep ...什么是anology!现在,你会在最常见的情况下推荐最好的东西,或者卫星电话永远是最好的! – kushalvm 2011-12-30 07:46:17

0

jquery的ajax方法非常强大,它可以处理所有需要的东西。

在jquery中有各种方法可以根据您的要求执行AJAX调用,但所有这些都是jQuery的ajax方法的同义词。

为JSON可以使用 $.getJSON(url,[data],function(response){});

张贴可以使用 '$ .POST数据(URL,[数据],功能(响应){});

获取请求,您可以使用 `$ .get(url,[data],function(){});

,如果你想使用Ajax方法对所有的这些事情你必须通过各种参数根据您的要求

$.ajax({ 
'url':you url, 
'type':request type, 
'data':your data, 
'success':success handler function, 
'error':error handler function, 
/*and many more*/ 
)} 

读jQuery的文档的全部细节