我试图使用一个变量,该变量是通过在另一个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);
}
});
最佳答案
如果可以使用.html('blah')
设置nameOutput的内部html,那么可以使用nameOutput.html()
而不是nameOutput.val()
再次提取html;
但是我认为您必须将这样的元素定义为HTML元素:
var nameOutput=$('<div></div>');
同样在第一个ajax函数中,使用以下命令设置html:
nameOutput.html(data);
并且如果存在一个ID为
name-output
的真实元素,并且您希望结果可见,请执行以下两项操作:nameOutput.html(data);
$('#name-output').html(data);