#rally
#ралли
Вопрос:
Из приложения мне нужно изменить прокси, чтобы использовать метод GET для чтения данных, а не метод OPTIONS. Я попытался установить «метод» для прокси, но, похоже, он не вступает в силу.
var operation = new Ext.data.Operation({
action: 'read',
});
var proxy = new Ext.data.proxy.Ajax({
type: 'ajax',
url: testURL,
method: 'GET',
withCredentials: true
});
proxy.read( operation );
Запрашивать заголовки из отладчика (ПАРАМЕТРЫ уведомления)
OPTIONS /web/datasource?_dc=1476803593106amp;page=1amp;start=0amp;limit=25 HTTP/1.1
Host: <removed>
Connection: keep-alive
Access-Control-Request-Method: GET
Origin: https://rally1.rallydev.com
User-Agent: Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.59 Safari/537.36
Access-Control-Request-Headers: x-requested-with
Accept: */*
Referer: <hidden>
Accept-Encoding: gzip, deflate, sdch, br
Accept-Language: en-US,en;q=0.8
Следующий код работает, но не зависит от хранилища данных:
var createCORSRequest = function(method, url) {
var xhr = new XMLHttpRequest();
if ("withCredentials" in xhr) {
// Most browsers.
xhr.open(method, url, true);
} else if (typeof XDomainRequest != "undefined") {
// IE8 amp; IE9
xhr = new XDomainRequest();
xhr.open(method, url);
} else {
// CORS not supported.
xhr = null;
}
return xhr;
};
var url = testURL;
var method = 'GET';
var xhr = createCORSRequest(method, url);
xhr.onload = function() {
// Success code goes here.
alert( xhr.response );
};
xhr.onerror = function() {
// Error code goes here.
};
xhr.withCredentials = true;
xhr.send();
Комментарии:
1. Запрос ПАРАМЕТРОВ является частью спецификации ajax для разных источников. Эти вызовы завершаются неудачно? После успешного запроса параметров последующий GET будет выдан автоматически…
2. Да, это то, что я нахожу. Я работаю с администраторами нашего сервера, чтобы изменить настройки, чтобы разрешить CORS из rallydev.com