在$ .when中从$ .ajax获取价值的问题

时间:2013-02-13 19:21:15

标签: 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(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));
        });
    }

我需要你看看alert(data2[0].text(atfName));alert(data2[0].text(atfAmount));问题的部分我似乎无法获得价值观?

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

首先,这个只发送一个网址并返回....

function showUrlInDialogATF(urlatf)
    {
      return $.ajax({
        url: urlatf
      });
    }

第二个返回在document.ready中创建的两个数据值(我已经测试了它们并且它们确实保存了值,只有当我尝试将它放入{{1}时才会这样做声明).....

$.when

如果您还有其他需要,请告诉我,谢谢

大卫

哦,这是第一个开始一切的声明:

function sendUpdateATFwindow()
    {
      return $.ajax({
        data: {
            'atfName': atf_name.val(),
            'atfAmount': atf_amount.val()
        }
      });
    }

注意:我正在使用Jquery UI对话框开启,我已经打开了一个,所以我打开另一个。我不知道这会影响到什么吗?我认为不是因为函数和值是不同的名称。

更新:

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

$(document).ready(function () {     
        $(".atf-submit").click(function () {
                atf_name = $(this).parent().parent().find(".user_table");
                atf_amount = $(this).parent().parent().find(".user_atf");
         runATF();
        });
    });

比其他代码运行 - 我将在此处重新发布:

$(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() } }); } 而它只是给了我,[0] = console.log(data2),[1] = abunch of html?,[2] = success < / p>

更新:

以下是我应该在data2 [0] ...

中获得的一个示例
object

0 个答案:

没有答案