通过JQuery使用AJAX从JavaScript调用WCF服务

通过JQuery使用AJAX从JavaScript调用WCF服务,javascript,jquery,ajax,wcf,service,Javascript,Jquery,Ajax,Wcf,Service,我试图通过JavaScript调用本地的WCF服务。下面是WCF服务的一个示例 public string GetMarkers() { List<Marker> lstMarkers = new MarkerMgr().GetMarkers().ToList(); List<Marker> lstMark = new List<Marker>(); foreach (Marker m in lstMar

我试图通过JavaScript调用本地的WCF服务。下面是WCF服务的一个示例

public string GetMarkers()
    {
        List<Marker> lstMarkers = new MarkerMgr().GetMarkers().ToList();
        List<Marker> lstMark = new List<Marker>();
        foreach (Marker m in lstMarkers)
        {
            Marker marker = new Web_Service.Marker();
            marker.Id = m.Id;
            marker.Latitude = m.Latitude;
            marker.Longitude = m.Longitude;
            marker.Title = m.Title;
            marker.Description = m.Description;
            marker.Icon = m.Icon;
            lstMark.Add(marker);
        }

        JavaScriptSerializer jss = new JavaScriptSerializer();
        jss.MaxJsonLength = Int32.MaxValue;

        return jss.Serialize(lstMark);
    }
function getMarkers() {
        var markers = null;
        $.ajax({
            async: true,
            type: "GET",
            url: "http://localhost:61892/Service.svc/GetMarkers", // the URL of the controller action method
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            processData: true,
            success: function (result) {
                alert(result);
                markers = result;
            },
            error: function (req, status, error) {
                alert(error);
            }
        });
        return markers;
    }

我尝试了许多不同的方法来解决这个问题,但都没有成功。根据我所做的所有研究,我认为这与本地主机有关。有人有主意吗?非常感谢。

您正在尝试跨域ajax。因此,应该在ajax调用页面中启用cors。 而且服务器应该

"Access-Control-Allow-Origin" header to "*"

看一看

这是一个跨域请求吗?没有,因为wcf服务和演示文稿都在本地主机上,所以您可以使用相对路径作为url。不需要在url中使用“”,我尝试过这样的“url:“/Service.svc/GetMarkers”,但结果是一样的。。我认为这与URL有关,但我不知道它有什么问题。你能提供调用该服务的页面URL吗?我已经尝试过了,但仍然没有。。问题是,当我调用ajax时,不会调用wcf服务,因为我正在Visual Studio中调试。。但是,当我通过WCF服务调用该方法时,它会按预期返回。