0

我有一段工作代码可以联系 nominatim 进行地理编码。这是通过跨域请求完成的。对于每个请求,我都会创建一个独特的回调函数。我在 DOM 检查器中注意到所有这些旧请求“堆积”。由于我将网站更改为更像应用程序的行为(因此用户停留在同一页面上),这可能会成为一个问题。

如何清除这些旧的请求和变量?只是为了清除 DOM 并防止这种明显的内存浪费。

  $.ajax({
        url: 'http://nominatim.openstreetmap.org/search',
        type: 'GET',
        dataType: 'jsonp',
        jsonp: 'false',
        jsonpCallback: 'json_callback' + myGeocoder.requestIndex,
        data: {
            format: 'json',
            q: request.term,
            addressdetails: 1,
            limit: 10,
            json_callback: 'json_callback' + myGeocoder.requestIndex
        },
        beforeSend: function(x) { 
            if (x && x.overrideMimeType) { 
                x.overrideMimeType("application/json;charset=UTF-8"); 
            } 
        },
        success: processResult
    });
    myGeocoder.requestIndex++;

在 Firebug DOM 检查器中,经过几次使用该函数后:

 json_callback0 undefined
 json_callback1 undefined
 json_callback2 undefined
 json_callback3 undefined
 json_callback4 undefined
 json_callback5 undefined
 json_callback6 undefined
 json_callback7 undefined
 json_callback8 undefined
 json_callback9 undefined

等等...

4

0 回答 0