У меня есть нечеткий мозговой день или что-то в этом роде ... Я хочу установить var = данные, возвращаемые из вызова ajax, и использовать его в качестве параметра в диаграмме morris.jquery: установить переменную как данные, возвращенные из ajax-вызова
function GetICCGraphData() {
return $.ajax({
url: "/url/"
});
}
$(function() {
var promise = GetICCGraphData();
Morris.Area({
element: 'icc-graph',
data: promise.success(function (data) { return data; }),
...<snip>...
URL-адрес возвращает JSON и если я ударил URL вручную и вставить данные в data: <paste>
график работы, как это должно ... intially я пытался сделать это, как можно было бы подумать, что должно быть ... к просто используйте функцию как значение для данных ... тогда я вышел на эту «обещание» .... поэтому мне просто нужно выяснить, как сделать переменную равными данными из вызова ajax. Похоже, это должно быть легко, поэтому я не знаю, может быть, я слишком долго смотрел на него?
благодарит людей
Кажется, что вы должны работать, это просто не произойдет сразу, потому что $ .ajax является асинхронным, вы можете запустить ваш ajax синхронно. – Shriike
@Shriike Я получаю консольную ошибку «Не могу прочитать свойство« x »неопределенного» в файле morris.js ... fiddler показывает успешный вызов ajax и возвращает правильные данные. Re: сделать его синхронным ... просто нужно async = false, чтобы сделать это, а? –