1

我正在使用 MVC 4GETPOST使用 JQuery 的请求,但似乎我无法让 JQuery 发送请求,也无法从服务器获取响应。

<script type="text/javascript">
    function search() {
        var lat = $('#latitude').val();
        var long = $('#longitude').val();

        $.ajax({
            url: "api/Attractions/?longitude=" + long + "&latitude=" + lat,
            type: "GET",
            success: function (data) {
                if (data == null) {
                    $('#attractionName').html("No attractions to search");
                }
                else {
                    $('#attractionName').html("You should visit " + data.Name);
                    displayMap(data.Location.Geography.WellKnownText, data.Name);
                }
            }
        });
    }
    // Get Geo Information
    function displayMap(coordinateString, name) {
        // WellKnownText is in format 'POINT (<longitude>, <latitude>)'
        coordinateString = coordinateString.replace("POINT (", "").replace(")", "");
        var long = coordinateString.substring(0, coordinateString.indexOf(" "));
        var lat = coordinateString.substring(coordinateString.indexOf(" ") + 1);

        // Show map centered on nearest attraction
        var map = new VEMap('myMap');
        map.LoadMap(new VELatLong(lat, long), 15, VEMapStyle.Aerial);

        // Add a pin for the attraction
        var pin = new VEShape(VEShapeType.Pushpin, new VELatLong(lat, long));
        pin.SetTitle(name);
        map.AddShape(pin);
    }
</script>

然后,按钮代码:

<h1>Find the Closest Tourist Attraction</h1>
<div>
    <label for="longitude">Longitude:</label>
    <input type="text" id="longitude" size="10" />
    <label for="latitude">Latitude:</label>
    <input type="text" id="latitude" size="10" />
    <input type="button" value="Search" onclick="search();" />
</div>
4

1 回答 1

0

您应该使用 URL 帮助程序。ajax 调用中的 url 应该有点像这样,我还没有测试过,但我知道我必须这样做才能解决问题。

url:"@Url.Action("action", "controller")" + "?longitude=" + etc..
于 2012-10-20T19:26:40.743 回答