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