Accessing a REST WebService and updating local HTML objects with Modular JS I have this code I am doing to make my code modular js: 

$(function(){
    var url, settings ={};
    var language = mainSettings.getLanguage(); /* there is an object in the page called mainSettings with current language */
    function applyLanguageSettings() {
        if (language == "en") {
         settings.web = "en";   

        }
        else {
         settings.web = "es";
        }
    }

    applyLanguageSettings();
    //Get element
    var pageName= location.pathname.split("/").pop();
    pageName = pageName.substring(0, pageName.indexOf('.aspx'));
    baseUrl = mainSettings.getUrl() + settings.web + "/db/items?$filter=PageName eq '"+ pageName + "'";
    var dfd = $.ajax({
    url: baseUrl, 
    method: "GET",
    headers : {
        "accept": "application/json;odata=verbose"
    }
})

dfd.done(function(data, status, jqXHR){
        if(data.d &amp;&amp; data.d.results &amp;&amp; data.d.results.length &gt;0){
            var results = data.d.results;
            var card = data.d.results[0];
            var obj = {};
            obj.Title = value.Title;
            obj.ImageSource = value.Img;
    $("#Img").attr("src",obj.ImageSource);
    $("#Title").text(obj.Title);                       


          }
    });
}) 


I'm trying to access a REST-based Web-Service using JavaScript, then update a couple local HTML elements with the result of the download.  

I have a couple questions: 


Do I have to define a namespace and put my code inside to make it modular? Do I have to make my code modular in the first place? I don't see how I can turn this straightforward code into modular code.
For the apply language settings, I am not sure if am doing the right thing by defining a function then calling the function below it. Do I need to use IIFE?
Calling the $("#Title"), do I need to get the container in HTML once, and use .find()? What's the benefit of using .find() over what I am doing here?
Is my if condition to check for the data done in the right way?
declared but never used:


url
data (it my look like it is used but it is only assigned to results and card)
results
card


used but never declared:


baseUrl
mainSettings (though there is a comment about it)
value


Unnecessary:


applyLanguageSettings
settings
obj
status
jqXHR


I had to assume card and value were the same thing or else as mentioned above data wasn't really used. Readability can be improved by giving dfd a name that would be understood by more people. I also made use the the data setting for the ajax function.

Potential rewrite:

$(function() {
    var language = mainSettings.getLanguage(); /* there is an object in the page called mainSettings with current language */
    language = language === "en" ? "en" : "es";

    var pageName = window.location.pathname.split("/").pop();
    pageName = pageName.substring(0, pageName.indexOf('.aspx'));
    var understandableName = $.ajax({
        url: mainSettings.getUrl() + language + "/db/items",
        data : { "$filter" : "PageName eq '" + pageName + "'" },
        method: "GET",
        headers: {
            "accept": "application/json;odata=verbose"
        }
    });

    understandableName.done(function(data) {
        if (!data.d)
            return;
        var results = data.d.results;
        if (results &amp;&amp; results.length &gt; 0) {
            var value = results[0];
            $("#Img").attr("src", value.Img);
            $("#Title").text(value.Title);
        }
    });
});