2015-08-11 4 views
0

Я пытаюсь получить данные с моего сайта, используя AngularJS, в свой wcf в Azure, но я получаю ошибку. В моих ЯШАХ:Не удается получить данные с помощью AngularJS + Azure WCF

$http({ 
url: dataService.serverPath + 'Services.svc/Login', 
method: 'GET', 
headers: { 'Accept': 'application/json, text/plain', 
      'Content-Transfer-Encoding': 'application/json;charset=utf-8', 
        'Accept-Charset': "charset=utf-8", 
       }, 
       params: { key: key } 
      }).success(function (data, status, headers, config) { 
       //some code here 
       } 
      }).error(function (data, status, headers, config) { 
       $scope.hasError = true; 
       $scope.errorMsg = "The request failed: " + data; 
      }); 

стельку ответ:

HTTP/1.1 200 OK 
Cache-Control: private 
Content-Type: application/json; charset=utf-8 
Vary: Accept-Encoding 
Server: Microsoft-IIS/8.0 
X-AspNet-Version: 4.0.30319 
X-Powered-By: ASP.NET 
Date: Tue, 11 Aug 2015 22:17:09 GMT 
Transfer-Encoding: chunked 

49 
{"ID":0,"NomeUsuario":"Admin","IsAdmin":true,"Error":null} 
0 

Обратите внимание, я получаю HTTP 200 и я получаю сообщение об ошибке. Данные возврата 49 { Json } 0, что это такое? Я попытался удалить Transfer-Encoding: chunked из моего WCF, но не удался.

Я потратил этот день дыры, пытаясь получить данные от Azure, и я didnt. Запуск на моей машине для разработчиков, это нормально и не отображает Transfer-Encoding: Chuncked или 49 и 0 корпус моего JSON.

ответ

0

Первое, что мне показалось, это тип MIME, поскольку его необходимо изменить путем FTP-соединения на ваш сайт в Azure и обновления файла WebConfig. Но это обычно возвращает 404, так как в вашем случае он возвращает 200, но все равно никакого вреда для проверки.

Мое другое предложение было бы о WebInvoke внутри вашего WCF (если вы его используете), следующая часть должна установить ваш WCF для использования Json.

[WebInvoke(UriTemplate = "Your template here", 
    Method = "GET", 
    RequestFormat = WebMessageFormat.Json, 
    ResponseFormat = WebmessageFormat.Json, 
    BodyStyle = WebMessageBodyStyle.Wrapped)] 

Надеется, что это помогает

+0

Я попытался положить WebInvoke на моей службе WCF, но до сих пор не работает. – ChepA

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