Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.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中获取$.ajax的值时出现问题_Javascript_Jquery_Jquery Ui_Dialog - Fatal编程技术网

Javascript 从$.ajax中获取$.ajax的值时出现问题

Javascript 从$.ajax中获取$.ajax的值时出现问题,javascript,jquery,jquery-ui,dialog,Javascript,Jquery,Jquery Ui,Dialog,嘿,伙计们,我有以下代码: function runATF(){ var urlatf = '/pcg/ATF/updateATF_window.php'; var tagatf = $("#insider_dialog"); var promise1 = showUrlInDialogATF(urlatf); var promise2 = sendUpdateATFwindow(); $.when(promis

嘿,伙计们,我有以下代码:

function runATF(){
        var urlatf = '/pcg/ATF/updateATF_window.php';
        var tagatf = $("#insider_dialog");

        var promise1 = showUrlInDialogATF(urlatf);
        var promise2 = sendUpdateATFwindow();

        $.when(promise1, promise2).done(function(data1, data2) {

            tagatf.html(data1[0]).dialog({
              width: '100%',
              modal: true
            }).dialog('open');
           //$('.updaterATF_outerbody').text(data2[0].atfName),
           //$('.updaterATF_outerbody').text(data2[0].atfAmount)
           //console.log(data2[1]);
          alert(data2[0].text(atfName));
              alert(data2[0].text(atfAmount));
        });
    }
我需要您查看的部分是
警报(data2[0].text(atfName))
警报(数据2[0]。文本(atfAmount))我的问题是我似乎无法获取值

让我向您展示运行的两个函数:

首先,这个只发送一个url并返回

function showUrlInDialogATF(urlatf)
    {
      return $.ajax({
        url: urlatf
      });
    }
第二个返回在
文档中创建的两个数据值。ready
(我已经对它们进行了测试,它们确实保存了值,只有当我尝试将其放入
$语句中时才返回)

如果您还需要什么,请告诉我,谢谢

大卫

哦,这是开始一切的第一句话:

$(document).ready(function () {     
        $(".atf-submit").click(function () {
                atf_name = $(this).parent().parent().find(".user_table");
                atf_amount = $(this).parent().parent().find(".user_atf");
         runATF();
        });
    });
注意:我正在使用jQueryUI对话框开启器,我已经打开了一个,所以我正在打开另一个。我不知道这会不会有什么影响?我假设不是因为函数和值是不同的名称

更新:

好的,我想显示打开第一个对话框窗口的第一个代码:

$(document).ready(function () {     
        $("#ATF").click(function () {

          runATF();
        });
    });

    function runATF(){
        var urlATF = '/pcg/ATF/atf_layout.php';
        showUrlInDialogATF(urlATF);
    }
    function showUrlInDialogATF(urlATF)
    {
      var tag = $("#dialog-container");
      $.ajax({
        url: urlATF,
        success: function(data) {
          tag.html(data).dialog
          ({
              width: '100%',
                modal: true
          }).dialog('open');
        }
      });
    }
而不是其他代码运行-我将在此处重新发布:

$(document).ready(function () {     
        $(".atf-submit").click(function () {
                atf_name = $(this).parent().parent().find(".user_table");
                atf_amount = $(this).parent().parent().find(".user_atf");
         runATFinsider();
        });
    });
function runATFinsider(){
        var urlatfinsider = '/pcg/ATF/updateATF_window.php';
        var tagatfinsider = $("#insider_dialog");

        var promise1 = showUrlInDialogATFinsider(urlatfinsider);
        var promise2 = sendUpdateATFwindow();

        $.when(promise1, promise2).done(function(data1, data2) {

            tagatfinsider.html(data1[0]).dialog({
              width: '100%',
              modal: true
            }).dialog('open');
           //$('.updaterATF_outerbody').text(data2[0].atfName),
           //$('.updaterATF_outerbody').text(data2[0].atfAmount)
           console.log(data2[1]);
          alert(data2[0].text(atfName));
        });
    }
    function showUrlInDialogATFinsider(urlatfinsider)
    {
      return $.ajax({
        url: urlatfinsider
      });
    }
    function sendUpdateATFwindow()
    {
      return $.ajax({
        data: {
            'atfName': atf_name.val(),
            'atfAmount': atf_amount.val()
        }
      });
    }
我还尝试做了一个
console.log(data2)
,它只给了我[0]=
一个html?
,[1]=
成功
,[2]=
对象

更新:

下面是一个我应该在data2[0]中得到什么的示例

alert(atf_name.val()); = bob
alert(atf_amount.val()); = 0

您希望
警报(data2[0].text(atfName))
显示什么
.text()
应该应用于jQuery对象,而不是AJAX调用返回的数据。当您输入
done
回调时,是否可以检查
data1
data2
参数的外观?如果
data2[0]
包含大量HTML,这就是AJAX服务器返回的结果。但是为什么我要返回atf_名称和atf_数量的结果呢?最后的评论基本上是“我为什么要这样做?”只有你知道。。。你能详细说明一下吗?
alert(atf_name.val()); = bob
alert(atf_amount.val()); = 0