Javascript MVC4和JQuery
我使用MVC4使用JQuery来Javascript MVC4和JQuery,javascript,jquery,asp.net-mvc,Javascript,Jquery,Asp.net Mvc,我使用MVC4使用JQuery来获取和发布请求,但似乎我无法让JQuery发送请求,也无法从服务器获取响应 <script type="text/javascript"> function search() { var lat = $('#latitude').val(); var long = $('#longitude').val(); $.ajax({ url: "api/Attractions/
获取
和发布
请求,但似乎我无法让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>
函数搜索(){
var lat=$(“#纬度”).val();
var long=$(“#经度”).val();
$.ajax({
url:“api/景点/?经度=”+long+“&纬度=”+lat,
键入:“获取”,
成功:功能(数据){
如果(数据==null){
$('#attractionName').html(“无需搜索的景点”);
}
否则{
$('#attractionName').html(“您应该访问”+data.Name);
显示地图(data.Location.Geography.WellKnownText,data.Name);
}
}
});
}
//获取地理信息
功能显示图(坐标、名称){
//WellKnownText的格式为“点(,)”
坐标系=坐标系.replace(“点(“,”).replace(“)”,”);
var long=坐标系子字符串(0,坐标系索引(“”);
var lat=坐标系子串(坐标系索引(“”+1);
//以最近的景点为中心显示地图
var map=新的VEMap(“myMap”);
地图。负荷图(新维拉特隆(拉特,长),15,维玛风格。空中);
//为景点添加一个别针
var pin=新的VEShape(VEShapeType.Pushpin,新VELatLong(lat,long));
pin.SetTitle(名称);
地图。AddShape(pin);
}
然后,按钮代码:
<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>
找到最近的旅游景点
经度:
纬度:
您应该使用URL帮助器。ajax调用中的url看起来应该有点像这样,我还没有测试过它,但我知道我必须这样做才能解决这个问题
url:"@Url.Action("action", "controller")" + "?longitude=" + etc..
控制台中有错误吗?您是否进行过调试,以查看是否执行了任何代码或执行停止的位置?按钮甚至不会触发事件。也许您可以尝试将按钮更改为:(抱歉,现在无法进行测试。)使用Chrome、Firefox或IE中的开发工具,并在JS中粘贴一些断点。。。