Skip to content
This repository has been archived by the owner on Jun 7, 2021. It is now read-only.

Commit

Permalink
For ribbon-webapp, AJAX connection must be open before setting headers.
Browse files Browse the repository at this point in the history
  • Loading branch information
lance committed Dec 3, 2015
1 parent f97e990 commit d088fa4
Showing 1 changed file with 11 additions and 9 deletions.
20 changes: 11 additions & 9 deletions ribbon-webapp/runtime/src/main/resources/ribbon.js
Expand Up @@ -65,13 +65,14 @@ var ribbon = (function() {
var request = new XMLHttpRequest(),
deferredResponse = deferred();

// set the state change handler and open the http request
request.onreadystatechange = changeState(request, deferredResponse);
request.open(settings.method, settings.url);

getHeaders(settings.headers).forEach(function(header) {
request.setRequestHeader(header.field, header.value);
});

// set the state change handler and make the http request
request.onreadystatechange = changeState(request, deferredResponse);
request.open(settings.method, settings.url);
if (settings.data) request.send(settings.data);
else request.send();

Expand Down Expand Up @@ -119,17 +120,18 @@ var ribbon = (function() {
}
}

function getJSON(serviceName, path, data) {
return ajax( serviceName, path, {
method: 'GET',
data: data
});
function getJSON(serviceName, path) {
return ajax( serviceName, path, { method: 'GET' });
}

function postJSON(serviceName, path, data) {
if (typeof path === 'object') {
data = path;
path = '/';
}
return ajax( serviceName, path, {
method: 'POST',
data: data
data: JSON.stringify(data)
});
}

Expand Down

0 comments on commit d088fa4

Please sign in to comment.