Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.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调用数据来展开表行以获取更多信息_Javascript_Jquery_Ajax - Fatal编程技术网

Javascript 如何通过ajax调用数据来展开表行以获取更多信息

Javascript 如何通过ajax调用数据来展开表行以获取更多信息,javascript,jquery,ajax,Javascript,Jquery,Ajax,在下面的ajax调用中,变量shtml为空。给变量赋值的正确方法是什么?如果我在success函数中返回它,我会得到一个“uncaughttypeerror:cannotreadproperty'show'of undefined”错误行.child(moreinfo(row.data()).show() 函数moreinfo(d){ var shtml=“”; $.ajax({ 键入:“获取”, url:url+parseInt(d[1]), contentType:“应用程序/json”,

在下面的ajax调用中,变量shtml为空。给变量赋值的正确方法是什么?如果我在success函数中返回它,我会得到一个“uncaughttypeerror:cannotreadproperty'show'of undefined”错误<代码>行.child(moreinfo(row.data()).show()

函数moreinfo(d){
var shtml=“”;
$.ajax({
键入:“获取”,
url:url+parseInt(d[1]),
contentType:“应用程序/json”,
数据类型:“json”,
成功:功能(数据){

shtml='当您使用
ajax
时,它将异步执行。因此,在执行
$.ajax(
)时,它不会等待响应到达并转到下一行,即
返回shtml;
,因此,
shtml
将始终返回

要解决您的问题,您可以按以下方式更改代码

  • moreinfo
    中的参数更新为
    moreinfo(行,tr)
  • 使用
    let d=row.data();
    获取
    moreinfo
    中的
    d
  • success
    中添加
    row.child(shtml).show();
    &
    tr.addClass('show');
    $.ajax
    回调
  • 调用
    moreinfo(行,tr);
    单击
  • //更新函数参数
    功能moreinfo(世界其他地区,tr){
    //获取数据
    设d=row.data();
    $.ajax({
    键入:“获取”,
    url:url+parseInt(d[1]),
    contentType:“应用程序/json”,
    数据类型:“json”,
    成功:功能(数据){
    var shtml='您可以使用或作为moreinfo函数的第二个参数来执行此操作,另一个函数接受回调并执行进一步的工作