Javascript Ajax json请求和响应
我希望我能得到一些帮助,从一个相当基本的层面理解这段代码中发生了什么 我知道这基本上是调用指定的URL。我还知道它应该返回一个JSON对象。如果调用成功,那么它将调用我下面定义的Javascript Ajax json请求和响应,javascript,ajax,api,Javascript,Ajax,Api,我希望我能得到一些帮助,从一个相当基本的层面理解这段代码中发生了什么 我知道这基本上是调用指定的URL。我还知道它应该返回一个JSON对象。如果调用成功,那么它将调用我下面定义的displayResults函数 displayResults函数采用单个参数 如果我给它传递一个简单的字符串(例如代码中的“response”),一切正常。但是,我想将API调用中的响应对象作为参数传递给函数,但我不知道如何传递。响应对象是否有我应该使用的特定名称 $.ajax({ url: wikiAPI,
displayResults
函数
displayResults
函数采用单个参数
如果我给它传递一个简单的字符串(例如代码中的“response”),一切正常。但是,我想将API调用中的响应对象作为参数传递给函数,但我不知道如何传递。响应对象是否有我应该使用的特定名称
$.ajax({
url: wikiAPI,
dataType: "json",
success: displayResults //dont call the function, pass it. it will be called when the response is ready.
});
function displayResults(data){
console.log(data);//here is your response
$(".results").html("<p><h3>Hello World!</h3></p>");
}
$.ajax({
网址:wikiAPI,
数据类型:“json”,
success:displayResults//不调用函数,传递它。响应就绪时将调用它。
});
函数显示结果(数据){
console.log(data);//这是您的响应
$(“.results”).html(“helloworld!”;
}
试试这个
$.ajax({
url : wikiAPI,
dataType : "json",
success: function(response){
displayResults(response)
}
});
})
function displayResults(data){
console.log("Ajax success response data:", data);
$(".results").html("<p><h3>Hello World!</h3></p>");
}
$.ajax({
网址:wikiAPI,
数据类型:“json”,
成功:功能(响应){
显示结果(响应)
}
});
})
函数显示结果(数据){
log(“Ajax成功响应数据:”,数据);
$(“.results”).html(“helloworld!”;
}
试试这个
$.ajax({
url : wikiAPI,
dataType : "json",
success: function(response){
displayResults(response)
}
});
})
function displayResults(data){
console.log("Ajax success response data:", data);
$(".results").html("<p><h3>Hello World!</h3></p>");
}
$.ajax({
网址:wikiAPI,
数据类型:“json”,
成功:功能(响应){
显示结果(响应)
}
});
})
函数显示结果(数据){
log(“Ajax成功响应数据:”,数据);
$(“.results”).html(“helloworld!”;
}
您必须理解,在Javascript中,函数是“一流”的,这意味着可以像对待任何其他变量一样对待函数:可以将其作为变量传递给另一个函数,然后从另一个函数返回
这在javascript中被大量使用,尤其是作为回调
调用$.ajax
函数时,将为其提供一个对象作为参数。这个对象将包含ajax请求不同状态的回调函数——其中之一是success
因此,基本上,键success
需要有一个function类型的值
现在,当您说displayResults(“response”)
时,您正在调用带有参数“response”
的函数displayResults
——其返回类型不是函数
如果只说displayResults
,而不说()
,则处理函数的方式与处理任何其他变量的方式完全相同。未执行该函数
你可以这样做:
var functionAlias = displayResults;
就像其他变量一样
同样,您可以执行以下操作:
$.ajax({
url: wikiAPI,
dataType: "json",
success: displayResults
});
现在,当ajax请求成功时,jquery将调用您提供的函数
您可以阅读函数中预期的参数:
成功
类型:函数(任何数据、字符串textStatus、jqXHR、jqXHR)
)
请求成功时要调用的函数。该函数得到
传递了三个参数:从服务器返回的数据,已格式化
根据dataType参数或dataFilter回调
功能(如有规定);描述状态的字符串;还有jqXHR
(在jQuery1.4.x中,XMLHttpRequest)对象
因此,displayResults
函数将接收三个参数:data
(可以是任何类型)、textStatus
(字符串)和jqXHR
(XMLHttpRequest对象)。尽管参数名称可以是您想要的任何名称,但通常的做法是使其与文档保持一致。您必须了解,在Javascript中,函数是“一流的”,这意味着可以像对待任何其他变量一样对待函数:您可以将其作为变量传递给另一个函数,并从另一个函数返回它
这在javascript中被大量使用,尤其是作为回调
调用$.ajax
函数时,将为其提供一个对象作为参数。这个对象将包含ajax请求不同状态的回调函数——其中之一是success
因此,基本上,键success
需要有一个function类型的值
现在,当您说displayResults(“response”)
时,您正在调用带有参数“response”
的函数displayResults
——其返回类型不是函数
如果只说displayResults
,而不说()
,则处理函数的方式与处理任何其他变量的方式完全相同。未执行该函数
你可以这样做:
var functionAlias = displayResults;
就像其他变量一样
同样,您可以执行以下操作:
$.ajax({
url: wikiAPI,
dataType: "json",
success: displayResults
});
现在,当ajax请求成功时,jquery将调用您提供的函数
您可以阅读函数中预期的参数:
成功
类型:函数(任何数据、字符串textStatus、jqXHR、jqXHR)
)
请求成功时要调用的函数。该函数得到
传递了三个参数:从服务器返回的数据,已格式化
根据dataType参数或dataFilter回调
功能(如有规定);描述状态的字符串;还有jqXHR
(在jQuery1.4.x中,XMLHttpRequest)对象
因此,displayResults
函数将接收三个参数:data
(可以是任何类型)、textStatus
(字符串)和jqXHR
(XMLHttpRequest对象)。尽管参数名称可以是您想要的任何名称,但通常的做法是与文档保持一致。关于success method参数,它没有特定的名称,它是动态的。请查看此链接
关于您的代码,请按如下方式调用ajax
$.ajax({
url: wikiAPI,
dataType: "json",
success: function(data){
displayResults(data)
},
error:function(erData):function{cosole.log(erData)}
});
似乎显示结果