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

时间:2013-05-08 10:18:12

标签: 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 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);
    }

这是我用来调用WCF服务的函数。

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;
    }

我尝试了很多不同的方法来解决这个问题,但他们并没有成功。从我所做的所有研究中,我认为它是关于localhost的。有人有想法吗?非常感谢。

1 个答案:

答案 0 :(得分:0)

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

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

看看this