在AJAX函数中定义$(this)并追加在另一个AJAX成功函数中创建的父项

时间:2013-01-24 16:13:29

标签: ajax

所以,这里有趣!我正在尝试在ajax调用中运行一个函数,并使用来自另一个函数的数据填充AJAX成功函数中的元素。那有意义吗?可能不是,所以这是我的代码。

这是最终结果函数,它依赖于一个数据的另一个函数。

function runQuery(){

var url = 'http://www.nexthometown.com/index.php?option=com_singleprop&view=raw&format=raw';

$.ajax({
    url: url,
    dataType: 'json',
    success: function(data){ 
        $.each(data, function (key, value){
            var agentuid = value[0];
            var mlsnum = value[1];
            var address = value[5] + ' ' + value[6] + ' ' + value[7];
            var city = value[9];
            var state = value[10];
            var zip = value[11];
            $('#ohs_table').append('<tr><td>' + mlsnum + '</td><td>' + address + ' ' + city + ' ' + zip + '</td><td class="date"><div>' + ohsDate(mlsnum) + '</div></td><td><div class="media_button">QRCode</div><div class="pdf_button media_button" form="oh_usda" value="' + mlsnum + '">USDA<br/>PDF</div><div class="pdf_button media_button" form="oh_usda_null" value="' + mlsnum + '">NO USDA<br/>PDF</div></td></tr>');
        });
    },
    error: function(jqXHR, error, errorThrown) {  
        alert(jqXHR.responseText); 
    }
});


};

这是在其他AJAX调用的成功函数中调用的函数

function ohsDate(mlsno){
var dateurl = 'http://www.nexthometown.com/index.php?option=com_singleprop&view=raw&format=raw&mlsnum='+mlsno;
$.ajax({
    url: dateurl,
    dataType: 'json',
    success: function(data){
        $.each(data, function (key, value){
            var date = value[0];
            var start = value[3];
            var end = value[4];
            $(this).parent('.date').append( date + ',' + start + ' - ' + end );
        });
    },
    error: function() {
        alert('OOPS!');
    }
});
};

现在,问题是当结果 AJAX调用完成时,我不断得到undefined。所以,因为我每次调用依赖函数时都没有得到'OOPS!警报,所以我只能假设它找到了成功,但是某些东西是未定义的,我假设它是$(this)参考

任何线索?

1 个答案:

答案 0 :(得分:0)

我放弃了这种方法并将mySQL查询从WHERE更改为JOIN。我正在尝试使用创可贴修复从另一个脚本中提取内容。它效果不好。