Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Ajax json请求和响应_Javascript_Ajax_Api - Fatal编程技术网

Javascript Ajax json请求和响应

Javascript Ajax json请求和响应,javascript,ajax,api,Javascript,Ajax,Api,我希望我能得到一些帮助,从一个相当基本的层面理解这段代码中发生了什么 我知道这基本上是调用指定的URL。我还知道它应该返回一个JSON对象。如果调用成功,那么它将调用我下面定义的displayResults函数 displayResults函数采用单个参数 如果我给它传递一个简单的字符串(例如代码中的“response”),一切正常。但是,我想将API调用中的响应对象作为参数传递给函数,但我不知道如何传递。响应对象是否有我应该使用的特定名称 $.ajax({ url: wikiAPI,

我希望我能得到一些帮助,从一个相当基本的层面理解这段代码中发生了什么

我知道这基本上是调用指定的URL。我还知道它应该返回一个JSON对象。如果调用成功,那么它将调用我下面定义的
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)}
});
似乎
显示结果