有人能给我解释一下JavaScript/Ajax部分的代码是做什么的吗?

有人能给我解释一下JavaScript/Ajax部分的代码是做什么的吗?,javascript,ajax,Javascript,Ajax,我正在学习Ajax,我正在经历。这有什么用?我不懂语法variable=function(){函数是如何分配给变量的 xmlhttp.onreadystatechange=function() { if (xmlhttp.readyState==4 && xmlhttp.status==200) { document.getElementById("txtHint").innerHTML=xmlhttp.responseText; } } r

我正在学习Ajax,我正在经历。这有什么用?我不懂语法
variable=function(){
函数是如何分配给变量的

xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
    }
  }

readyState更改时,如果请求完成且响应准备就绪(
readyState==4
),并且文档加载正确(HTTP状态代码
200
=OK!),则将响应文本附加到id为
#txtHint
的元素



onreadystatechange
存储一个函数(或函数名),该函数将在每次
readyState
属性更改时自动调用

readyState
保存XMLHttpRequest的状态。从0更改为4:

  • 0:请求未初始化
  • 1:已建立服务器连接
  • 2:收到请求
  • 3:处理请求
  • 4:请求已完成,响应已准备就绪
状态
采用HTTP响应代码:

  • 200:“好的”
  • 404:找不到页面

当readyState更改时,如果请求已完成且响应已准备就绪(
readyState==4
),并且文档已正确加载(HTTP状态代码
200
=OK!),则将响应文本添加到id为
#txtHint
的元素中



onreadystatechange
存储一个函数(或函数名),该函数将在每次
readyState
属性更改时自动调用

readyState
保存XMLHttpRequest的状态。从0更改为4:

  • 0:请求未初始化
  • 1:已建立服务器连接
  • 2:收到请求
  • 3:处理请求
  • 4:请求已完成,响应已准备就绪
状态
采用HTTP响应代码:

  • 200:“好的”
  • 404:找不到页面

onreadystatechange
是一个回调。它在特定事件发生时被触发。
onreadystate
是在请求就绪状态更改时发生的

简而言之,
onreadystate

Stores a function (or the reference of a function) to be called automatically each time the readyState property changes
现在开始排队
xmlhttp.readyState==4&&xmlhttp.status==200

readyState:保存XMLHttpRequest的状态。

 Changes from 0 to 4: 
0: request not initialized 
1: server connection established
2: request received 
3: processing request 
4: request finished and response is ready
状态
保持状态

200: "OK"
404: Page not found
因此,当响应就绪且没有问题时,
xmlhttp.readyState==4&&xmlhttp.status==200
条件为true

xmlhttp.responseText
包含从服务器发送的响应

因此
document.getElementById(“txtHint”).innerHTML=xmlhttp.responseText;
将id为
txtHint
的元素的HTML更改为收到的响应


希望以上所有内容都有意义!!!

onreadystatechange是一个回调。它在特定事件发生时被触发。
onreadystate
是在请求就绪状态更改时发生的

简而言之,
onreadystate

Stores a function (or the reference of a function) to be called automatically each time the readyState property changes
现在开始排队
xmlhttp.readyState==4&&xmlhttp.status==200

readyState:保存XMLHttpRequest的状态。

 Changes from 0 to 4: 
0: request not initialized 
1: server connection established
2: request received 
3: processing request 
4: request finished and response is ready
状态
保持状态

200: "OK"
404: Page not found
因此,当响应就绪且没有问题时,
xmlhttp.readyState==4&&xmlhttp.status==200
条件为true

xmlhttp.responseText
包含从服务器发送的响应

因此
document.getElementById(“txtHint”).innerHTML=xmlhttp.responseText;
将id为
txtHint
的元素的HTML更改为收到的响应


希望以上所有内容都有意义!!!

我知道每个人都在说这是一次专门的回调,但您提出的问题最好通过比较您所困惑的内容和一些更熟悉的代码来回答

function myFunction()
{
    ...
}
所以我们知道调用
myFunction()
将运行该代码

在Javascript中,可以通过多种方式声明函数。这意味着:

var myFunction = function()
{
    ...
}
与上面的第一个示例完全相同。它创建了一个可以使用
myFunction()
调用的函数

将回调添加到问题的混合中,我们可以看到

xmlhttp.onreadystatechange = function()
{
    ...
}

只不过是为对象xmlhttp的onreadystatechange属性分配一个函数并包含代码。这意味着每当xmlhttp对象中出现状态更改时,函数中的代码都会被调用。

我知道每个人都说这是一个回调,但最好是b回答您提出的问题y将您感到困惑的内容与一些更熟悉的代码进行比较

function myFunction()
{
    ...
}
所以我们知道调用
myFunction()
将运行该代码

在Javascript中,可以通过多种方式声明函数。这意味着:

var myFunction = function()
{
    ...
}
与上面的第一个示例完全相同。它创建了一个可以使用
myFunction()
调用的函数

将回调添加到问题的混合中,我们可以看到

xmlhttp.onreadystatechange = function()
{
    ...
}

只不过是为对象xmlhttp的onreadystatechange属性分配一个函数并包含代码。这意味着每当xmlhttp对象中出现状态更改时,都会调用函数中的代码。

我想指出这一点:
我一直无法理解回调。

考虑一下这个类比:

你需要租一部刚刚在VHS上映的电影,所以你 打电话给百视达,询问服务员是否有副本。很遗憾 不过,他们正忙着与成千上万的大卫·鲍伊粉丝打交道 他们想同时租“迷宫”而他没有 有时间帮你查资料,所以他要求 你的电话号码。在将来的某个时候 人们都走了,他有时间,他查你需要的信息, 然后用你提供的号码给你回电话。结果电影是 不过已经卖完了,所以他建议改为“黑水晶”

在你身上