I want to make an ajax call when clicking on text within a popup. The text in the leaflet popup is previous set by a different ajax call.
Here is the javascript for both ajax calls.
$("#button").click(function() {
    var name = document.getElementById('searchterm').value
    var stuff = $.ajax({
        url: 'http://localhost:8080/demo/points/' + name,
        type: 'GET',
        dataType: 'json' ,      
    })
    .done(function( json ) {
        obj = JSON.parse(stuff.responseText);
        var n;
        for (n in obj) {
            var marker = omnivore.wkt.parse(obj[n].wkt).addTo(map);
            var id = JSON.stringify(obj[n].id)
            var link = $('<a href="#" class="showgraph">'+id+'</a>').click(function() {
                var moreStuff = $.ajax({
                    url: 'http://localhost:8080/demo/graph/'+id
                    type: 'GET',
                    dataType: 'json' ,  
                })
                .done(function( json ) {
                    obj2 = JSON.parse(moreStuff.responseText);
                    // create an array with nodes
                    edges = new vis.DataSet(obj2["edges"])
                    // create an array with edges
                    nodes = new vis.DataSet(obj2["nodes"])
                    // create a network
                    var container = document.getElementById('mynetwork');
                    // provide the data in the vis format
                    var data = {
                        nodes: nodes,
                        edges: edges
                    };
                    var options = {
                        nodes: {
                            shape: 'circle'
                        },
                        edges: {
                            length: 250
                        }
                    };
                    // initialize your network!
                    var network = new vis.Network(container, data, options);
                });
            });
            var div = $('<div />').text('Address UPRN: ').append(link)[0];
            marker.bindPopup(div);
        }   
    });
});
When the second call is finished it adds a graph view using vis.js. This works fine when I manually enter the id.
The problem lies somewhere in this part of the code
for (n in obj) {
        var marker = omnivore.wkt.parse(obj[n].wkt).addTo(map);
        var id = JSON.stringify(obj[n].id)
        var link = $('<a href="#" class="showgraph">'+id+'</a>').click(function() {
            var moreStuff = $.ajax({
                url: 'http://localhost:8080/demo/graph/'+id
                type: 'GET',
                dataType: 'json' ,  
        })
I think, as the IDs are set on all the markers when they are added to the map. Then when I click on the text it uses the last ID set to complete the url for the ajax call.
So I guess what I am asking is how can I use the popup text as part of the second ajax call? or maybe how do I preset the url to be used for each of the popups?
