2014-01-05 3 views
0

У меня проблема с доступом к внешнему api из приложения для одной страницы, которое я пытаюсь создать.Базовая аутентификация внешнего останова api от jQquery

Я могу войти в него от Почтальона с именем пользователя и паролем, а затем я получил AuthenticationTicket, который я могу использовать для личных данных для второго запроса.

Когда я пытаюсь войти в приложение из приложения, я получил заголовок «Нет» Access-Control-Allow-Origin »на запрошенном ресурсе».

Я не могу заставить его работать с jsonp, поскольку он должен публиковать логин?

 $.ajax 
     ({ 
      beforeSend: function (x) { 
      x.setRequestHeader('Authorization', 'Basic Username=x&Password=y'); 
     }, 
     type: "GET", 
     url: "https://test.com/api/login/", 
     dataType: 'json', 
     async: false, 
     success: function() { 
      alert('you're in!'); 
     } 

    }); 

ответ от апи в Почтальон:

AuthenticationTicket → x 
Cache-Control →no-cache 
Content-Length →52 
Content-Type →application/json; 
charset=utf-8 
Date →Sun, 05 Jan 2014 20:29:36 GMT 
Expires →-1 
LogoutKey → x 
Pragma →no-cache 
Server →Microsoft-IIS/7.5 
SessionTicket → x 
X-AspNet-Version → X-AspNet-Version 4.0.30319 
X-Powered-By → X-Powered-By 
Specifies the technology (ASP.NET, PHP, JBoss, e.g.) supporting the web application (version details are often in X-Runtime, X-Version, or X-AspNet-Version) ASP.NET 

ответ

0

конечно, C# фиксирует сделку.

 WebRequest req = WebRequest.Create(@"https://url.com/api/login/?param=value&param2=value"); 
     req.Method = "GET"; 
     req.Headers["Authorization"] = "Basic " + Convert.ToBase64String(Encoding.Default.GetBytes("Username:Password")); 
     HttpWebResponse resp = req.GetResponse() as HttpWebResponse; 
0

Попробуйте DATATYPE из JSONP:

dataType: 'jsonp', 
+0

затем я получаю код состояния: 400 Bad Request – mapa0402

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