我是Ajax的新手,并尝试从w3schools中给出的以下教程中了解Ajax的工作原理。
在下面的代码中,'url'设置为demo_ajax_load.txt
。 demo_ajax_load.txt
将是调用后传递的服务器中的纯文本文件吗?
一般情况下,我会看到一个php
或将被调用的asp代码,它将传递一个html或文本对象..但令人惊讶的是如何直接返回一个文本文件...道歉它的一个基本的基本问题
另外,url
的结果如何直接传递给函数 - 函数(结果)?
<!DOCTYPE html>
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js">
</script>
<script>
$(document).ready(function(){
$("button").click(function(){
$.ajaxSetup({
url:"demo_ajax_load.txt",
success:function(result){
$("div").html(result);
}
});
$.ajax();
});
});
</script>
</head>
<body>
<div><h2>Let AJAX change this text</h2></div>
<button>Change Content</button>
</body>
</html>
答案 0 :(得分:0)
AJAX请求本质上是对服务器的HTTP请求,它是异步发生的(当用户与页面交互时)。在服务器上访问的资源不一定需要是php脚本或html。在此示例中,请求的资源看起来是一个简单的文本文件。
当您调用$.ajax()
时,jQuery将使用您在$.ajaxSetup(...)
调用中定义的默认值。这意味着它会向GET
发出demo_ajax_load.txt
个请求。此请求将异步发生,这就是您需要定义success
回调函数的原因。一旦服务器返回响应,jQuery就会调用此函数。然后将响应的内容(在本例中为文件的内容)作为第一个参数传递给该回调函数(result
参数)。