2013-05-08 2 views
0

Я пытаюсь вызвать службу WCF, расположенную локально через JavaScript. Вот пример службы WCF.Вызов службы WCF из JavaScript с использованием AJAX через JQuery

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

Я пробовал много разных подходов к решению этого вопроса, но они не были успешными. Из всех проведенных мной исследований я думаю, что это что-то о локальном хосте. У кого-то есть идея? Большое спасибо.

+0

Это запрос крест домена? –

+0

нет его службы wcf и презентации на localhost – Dirett

+0

, то вы можете использовать относительный путь как url. Нет необходимости использовать «http: // localhost: 61892 /» в вашем url –

ответ

0

Вы пытаетесь выполнить перекрестный домен ajax. Таким образом, вы можете включить cors на своей странице вызова ajax. А также сервер должен сделать

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

взглянуть на this

+0

Я пробовал это и все еще ничего. Дело в том, что когда я звоню в ajax, служба wcf не вызывается, потому что я отлаживаю Visual Studio .. но когда я вызываю метод через службу WCF он возвращается, как предполагалось. – Dirett

Смежные вопросы