javascript函数不会触发 - 无法确定原因

时间:2013-07-25 16:21:25

标签: php javascript jquery session

我正在尝试创建一个搜索系统,用户可以返回之前进行的搜索。为了做到这一点,我使用php会话在他们返回搜索页面时重新创建他们的搜索。因为实际执行搜索的函数是在javascript中,所以我必须使用Ajax将适当的变量发布到PHP中的会话中,然后将其返回到javascript变量以重新启动搜索功能。

然而,当我尝试使用那些会话变量(传递给javascript)来重新激活搜索功能(并因此再次呈现相同的结果)时,该函数将不会触发,但是相同的函数将正常触发,即原始函数搜索。我检查过并且所有变量都是相同的,所以我不知道为什么函数不会触发。

我知道这不是函数的问题,因为原始搜索没有问题。这是我的代码。请帮忙。

Javascript

var sessSubj = '<?php echo $_SESSION['subject'];?>';
var sessLevel = '<?php echo $_SESSION['level'];?>';
var sessTopic = '<?php echo $_SESSION['topic'];?>';
var sessAddress = '<?php echo $_SESSION['address'];?>';
var sessSort = '<?php echo $_SESSION['sort'];?>';

if (sessLevel != "" && sessSubj != "") {
    var geocoder = new google.maps.Geocoder();
    geocoder.geocode({
        address: sessAddress
    }, function (results, status) {
        if (status == google.maps.GeocoderStatus.OK) {
            center = results[0].geometry.location;
            searchLocationsNear(center, sessLevel, sessSubj, sessTopic, sessSort);
        }
    });
}

function searchLocationsNear(center, level, subject, topic, sort) {
    clearLocations();
    if ($('div.pages')) {
        $('div.pages').remove()
    }
    $.ajax({
        type: 'GET',
        url: "findlocations.php",
        async: true,
        dataType: "json",
        data: {
            "level": level,
             "subject": subject,
             "topic": topic,
             "lat": center.lat(),
             "lng": center.lng(),
             "radius": 20,
             "sort": sort
        },
        success: function (data, response) { /* do stuff*/
        }

0 个答案:

没有答案