Ajax没有成功的功能

时间:2015-12-14 09:47:33

标签: javascript jquery ajax google-maps

我的谷歌地图应用程序仍无效。我越走越近了。此时我的ajax函数的成功函数没有运行。 我认为数据解析有问题,...我尝试了很多东西,但没有任何作用..这是我的控制器和html / ajax / javascript代码。

<!DOCTYPE html>
<html>
    <head>
        <title>Simple Map</title>
        <meta name="viewport" content="initial-scale=1.0">
        <meta charset="utf-8">
        <style>
            html, body {
                height: 100%;
                margin: 0;
                padding: 0;
            }
            #map {
                height: 100%;
            }
        </style>
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
        <script src="http://maps.google.com/maps/api/js?key=AIzaSyAurjHVf3PDdmkha_9kHBC7b-Go0CXbWPI&v=3.2&sensor=false"></script>
    </head>
    <body>
        <div id="map"></div>
        <script type="text/javascript">
            var map;https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js
            var data;
            initMap();
            function initMap() {
                map = new google.maps.Map(document.getElementById('map'), {
                    center: {lat: -34.397, lng: 150.644},
                    zoom: 8
                });


                httpCall();
            }

            function httpCall($http) {
                $.ajax({
                    type: 'GET',
                    url: '<?php echo site_url('User/marks') ?>',
                    data: data,
                    dataType: "json",
                    complete: function (data) {
                        alert(data);
                        for (var i = 0, len = data.length; i < len; ++i) {
                            var marker = new google.maps.Marker({
                                position: {
                                    lat: parseFloat(data[i].lat),
                                    lng: parseFloat(data[i].lng)
                                },
                                map: map
                            });
                        }
                    }
                })
            }

        </script>

    </body>
</html>

控制器:

function marks() {
    $data = json_encode($this->user_model->get_marks());
    return $data;
}

firefox中的网络:

http://i65.tinypic.com/2n1crqe.png

4 个答案:

答案 0 :(得分:0)

您应该阅读complete回调的文档。结果没有参数:

  

完成类型:功能(jqXHR jqXHR,String textStatus)

http://api.jquery.com/jquery.ajax/

您应该使用success回调。

  

成功类型:功能(任何数据,字符串textStatus,jqXHR jqXHR   )

编辑:执行return data的机构,执行echo data

答案 1 :(得分:0)

$.ajax({
  url: 'mypage.html',
  success: function(){
    alert('success');
  },
  error: function(){
    alert('failure');
  }
});

**以上是带有成功函数的ajax请求的示例,您似乎没有。还可以尝试通过硬编码来调用URL,以确保它能够正确地获取URL。 **

答案 2 :(得分:0)

您的代码缺少代码

&#34; contentType&#34;:&#34; application / json;字符集= UTF-8&#34;,

在ajax电话中。

请将contenttype添加到$ .ajax并尝试调用服务

答案 3 :(得分:0)

您的ajax请求中没有内容类型和成功。这是您的更新代码

            function httpCall($http) {
            $.ajax({
                type: 'GET',
                url: '<?php echo site_url('User/marks') ?>',
                contentType: "application/json; charset=utf-8",
                data: data,
                dataType: "json",
                success: function (data) {
                    alert(data);
                    for (var i = 0, len = data.length; i < len; ++i) {
                        var marker = new google.maps.Marker({
                            position: {
                                lat: parseFloat(data[i].lat),
                                lng: parseFloat(data[i].lng)
                            },
                            map: map
                        });
                    }
                }
            })
        }

成功完成此请求后,您将获得警报数据。