如何从一个Ajax函数获取变量以在另一个Ajax函数中工作

时间:2017-11-24 21:38:16

标签: javascript php jquery ajax

我正在尝试使用我通过另一个ajax函数中的一个ajax函数从php发送的数据创建的变量。我不确定我做错了什么。我尝试通过var nameOutput创建使其成为全局变量,并尝试var nameOutput = 0。您将在第二个ajax函数中看到警报代码。这没什么输出。如果我删除.val(),我会收到对象Object。

有问题的代码位于第二个Ajax函数中:data: { 'nameOutput': nameOutput.val() }

有谁知道我必须做什么?

var nameOutput;

$('#shuffle').on('click', function() {
    $.ajax({
        url: 'php/name-selection.php',
        type: 'POST',
        success: function(data) {
            nameOutput = $('#name-output').html(data);
            $(nameOutput).html();
        },
        complete:function(){
            $('#send-info').slideDown(1500);
        },
        error: function(xhr, textStatus, errorThrown) {
            alert(textStatus + '|' + errorThrown);
        }
    });
});
//var datastring1 = $('#name-output').serialize();
$('.check').click(function() {
    alert(nameOutput.val());
    $.ajax({
        url: 'php/name-selection-send.php',
        type: 'POST',
        data: {
            'nameOutput': nameOutput.val()
        }
        ,
        success: function(data) {
            if (data == 'Error!') {
                alert('Unable to  submit inquiry!');
                alert(data);
            } else {
                $('#success-sent').html(data);
            }
        },
        complete:function(){

        },
        error: function(xhr, textStatus, errorThrown) {
            alert(textStatus + '|' + errorThrown);
        }
    });

1 个答案:

答案 0 :(得分:2)

如果您可以使用_block_funds()设置nameOutput的内部html,那么您可以使用.html('blah')而不是nameOutput.html()再次提取html;

但是我认为你必须将这样的元素定义为HTML元素:

nameOutput.val()

同样在第一个ajax函数中,使用以下命令设置html:

var nameOutput=$('<div></div>');

如果有一个ID为nameOutput.html(data); 的真实元素,并且您希望结果可见,请执行以下两项操作:

name-output