将函数本身设置为AJAX中的url?

时间:2013-12-13 06:03:44

标签: javascript jquery ajax url

我是AJAX的新手。最近,我读了一个代码块,它将url设置为函数本身。在这种情况下,它是获取路径。通常,我们会将url设置为其他页面以获取数据或其他内容。我不知道将url设置为调用函数本身意味着什么。你能帮我回答一下我的问题吗?

 <script type="text/javascript">
        function getPath()
        {
            var startLat = $('#startLat').val();
            var startLng = $('#startLng').val();
            var desLat = $('#desLat').val();
            var desLng = $('#desLng').val();
            var departure = $('#departure').val();

            $.ajax({
                type: "POST",
                url: "getPath",
                dataType: "json",
                data: { "startLat": startLat, "startLng": startLng, "desLat": desLat, "desLng": desLng, "departure": departure},
                success: function (response) {
                    if(response.success) {
                        $('#result').val(response.data);
                        console.log('Reponse.success is true');
                    }
                    else {
                        console.log('Response.success is false');
                    }
                },
                error: function(e) {
                }
            });

        }
    </script>

3 个答案:

答案 0 :(得分:1)

    function getPath()  <-- function 
    url: "getPath",  <-- string

他们没有关系。唯一的共同点是开发人员具有相同的名称。该页面将发布到服务器上名为getPath的某个位置。

答案 1 :(得分:0)

除了POST请求发送到的url恰好是“getPath”之外,它没有任何意义。该函数可能根据服务器端的路由名称命名,但重命名该函数(并更新相应调用的每个位置)将不起作用,您必须按原样保留url: "getPath"。改变那部分可能会破坏某些东西。

getPath将是相对网址,因此请求类似于:http://example.com/path/to/parent/of/current/page/getPath

答案 2 :(得分:-1)

假设您的HTML输入网址

 <input type="url"  id="web_url" value=""></input>

然后您可以获取您的网址

 <script type="text/javascript">
    function getPath()
    {
        var startLat = $('#startLat').val();
        var startLng = $('#startLng').val();
        var desLat = $('#desLat').val();
        var desLng = $('#desLng').val();
        var departure = $('#departure').val();
        var url = $('#web_url').val();  // getting input URL by User 
        $.ajax({
            type: "POST",
            url:url ,
            dataType: "json",
            data: { "startLat": startLat, "startLng": startLng, "desLat": desLat, "desLng": desLng, "departure": departure},
            success: function (response) {
                if(response.success) {
                    $('#result').val(response.data);
                    console.log('Reponse.success is true');
                }
                else {
                    console.log('Response.success is false');
                }
            },
            error: function(e) {
            }
        });

    }
</script>