2016-07-14 17 views
0

Hi da bin ich fest und finde irgendwie die Lösung nicht. Es scheint einfach, aber gut, ok. Hier kommt's. Ich habe einen mobilen Dienst in Azure und möchte diesen mit Javascript erreichen. Wie komme ich um die 401 Unauthorized? Ich habe es mit der Dokumentation von MS versucht, aber kein Glück. Das ist, was ich bis jetzt bekommen habe (das Hinzufügen des Schlüssels zur URL funktioniert natürlich nicht) Was kann ich hinzufügen, um es zum Laufen zu bringen?Azure Mobile Service und Javascript

var client = new WindowsAzure.MobileServiceClient(
"https://cdshop.azure-mobile.net/", 
"vGpqzyApJXXXXXXXXblQCWne73" 
); 

var getJSON = function (url, callback) { 
var xhr = new XMLHttpRequest(); 
xhr.open('get', url, true); 
xhr.responseType = 'json'; 
xhr.onload = function() { 
    var status = xhr.status; 
    if (status == 200) { 
     callback(null, xhr.response); 
    } else { 
     callback(status); 
    } 
}; 
xhr.send(); 
}; 


$(function() { 
$('#clickme').click(function() { 

    getJSON('http://cdshop.azure-mobile.net/api/cds/total?key=vGpqzyApJXXXXXXXXblQCWne73', function (err, data) { 
if (err != null) { 
    alert('Something went wrong: ' + err); 
} else { 
    alert('Your Json result is: ' + data.result); 
    result.innerText = data.result; 
} 
    }); 
}); 
}); 

Antwort

1

Wenn Sie Ihre eigenen HTTP-Anfragen erstellen, benötigen Sie einen Request-Header X-ZUMO-Anwendung mit Ihrer Anwendungstaste aufgerufen zu setzen, zum Beispiel "vGpqzyApJXXXXXXXXblQCWn73" für Tabellen und APIs, die auf "Anwendung" oder "Benutzer" festgelegt sind. (Vorausgesetzt, Sie verwenden weiterhin Mobile Services; der neuere App Service verwendet diesen X-ZUMO-APPLICATION-Header nicht.) Tabellen und APIs, die für "Benutzer" festgelegt sind, benötigen außerdem einen X-ZUMO-AUTH-Anforderungsheader mit dem Authentifizierungstoken des Benutzers.

Alternativ können Sie den MobileServiceClient verwenden, den Sie in der ersten Zeile erstellt haben, und dies wird für Sie erledigt. This page enthält Beispiele zum Aufrufen von APIs und Tabellen. Für Ihr Beispiel:

client.invokeApi("cds", { 
    body: null, 
    method: "get" 
}).done(function (data) { 
    alert('Your Json result is: ' + data.result); 
    result.innerText = data.result; 
}, function(error) { 
    alert('Something went wrong: ' + error); 
}); 
+0

Vielen Dank Eric, es funktionierte wie ein Charme –

Verwandte Themen