У меня есть @RemoteAction который на callback своей функции выполняет некоторый javascript и должен вызвать actionFunction,но actionfunction не вызывается почему ? что я упускаю ?
У меня есть @RemoteAction который на callback своей функции выполняет некоторый javascript и должен вызвать actionFunction,но actionfunction не вызывается почему ? что я упускаю ?
Ну тут несколько вариантов.
1. Когда приходит ответ от твоего @RemoteAction, твоя функция становится не определенной. Это решается выносом этой функции в статик ресурс.
2. По каким-то причинам не правильно срабатывает твой callback. Тут уже нужно смотреть твою логику.
[quote="Sergey Prichepo"]У меня есть @RemoteAction который на callback своей функции выполняет некоторый javascript и должен вызвать actionFunction,но actionfunction не вызывается почему ? что я упускаю ?[/quote]
Ну тут несколько вариантов.
1. Когда приходит ответ от твоего @RemoteAction, твоя функция становится не определенной. Это решается выносом этой функции в статик ресурс.
2. По каким-то причинам не правильно срабатывает твой callback. Тут уже нужно смотреть твою логику.
И никаких ошибок в консоли в браузере нет ? Попробуй вынести callback функцию в переменную и запусти ее отдельно. Все ли будет правильно отрабатывать ?
И никаких ошибок в консоли в браузере нет ? Попробуй вынести callback функцию в переменную и запусти ее отдельно. Все ли будет правильно отрабатывать ?
да все правильно работает,вот такая ошибка если запускать под дебагом js/ Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience. For more help, check http://xhr.spec.whatwg.org/.
[quote="wilder"]И никаких ошибок в консоли в браузере нет ? Попробуй вынести callback функцию в переменную и запусти ее отдельно. Все ли будет правильно отрабатывать ?[/quote]
да все правильно работает,вот такая ошибка если запускать под дебагом js/ Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience. For more help, check http://xhr.spec.whatwg.org/.
У тебя проблема с передаваемыми параметрами, где-то есть кавычка. проверь данные.
[quote="Sergey Prichepo"]Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience. For more help, check http://xhr.spec.whatwg.org/.[/quote]
У тебя проблема с передаваемыми параметрами, где-то есть кавычка. проверь данные.
Зачем после RemoteAction запускать actionFunction??? Это же одно и то же только разный принцип отправки запросам и обработки результата. Зачем делать один запрос, а потом из него вызывать второй запрос? Почему нельзя сделать все в одном? Если я не ошибаюсь это не ошибка а всего лишь Warning. Он не влияет на правильность работы скрипта.
[quote="Sergey Prichepo"]У меня есть @RemoteAction который на callback своей функции выполняет некоторый javascript и должен вызвать actionFunction,но actionfunction не вызывается почему ? что я упускаю ?[/quote]
Зачем после RemoteAction запускать actionFunction???
Это же одно и то же только разный принцип отправки запросам и обработки результата.
Зачем делать один запрос, а потом из него вызывать второй запрос? Почему нельзя сделать все в одном?
[quote="Sergey Prichepo"] js/ Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience. For more help, check http://xhr.spec.whatwg.org/.[/quote]
Если я не ошибаюсь это не ошибка а всего лишь Warning. Он не влияет на правильность работы скрипта.
Там нужен сonfirm из js На ответ сервера а потом только save,на худой конец если не разберусь сделаю web service или сheckbox сделаю после.Да это предуприждение.
[quote="Dmitry Shnyrev"][quote="Sergey Prichepo"]У меня есть @RemoteAction который на callback своей функции выполняет некоторый javascript и должен вызвать actionFunction,но actionfunction не вызывается почему ? что я упускаю ?[/quote]
Зачем после RemoteAction запускать actionFunction???
Это же одно и то же только разный принцип отправки запросам и обработки результата.
Зачем делать один запрос, а потом из него вызывать второй запрос? Почему нельзя сделать все в одном?
[quote="Sergey Prichepo"] js/ Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience. For more help, check http://xhr.spec.whatwg.org/.[/quote]
Если я не ошибаюсь это не ошибка а всего лишь Warning. Он не влияет на правильность работы скрипта.[/quote]
Там нужен сonfirm из js На ответ сервера а потом только save,на худой конец если не разберусь сделаю web service или сheckbox сделаю после.Да это предуприждение.
Но вообще по идее все должно работать - Вызов RemoteAction не изменяет структуру страницы и следовательно не может поломать actionFunction - пробуй запустить отдельно из консоли браузера и повесь побольше console.log() чтобы контролировать выполнение по шагам. Возможно просто код не совсем правильный.
Но вообще по идее все должно работать - Вызов RemoteAction не изменяет структуру страницы и следовательно не может поломать actionFunction - пробуй запустить отдельно из консоли браузера и повесь побольше console.log() чтобы контролировать выполнение по шагам. Возможно просто код не совсем правильный.
Почему бы просто не использовать 2 remote actions? Скорее всего проблема в том, что сигнатура не верная/область видимости не та/срабатывает не то событие. Нужно просто продебажить.
Почему бы просто не использовать 2 remote actions?
Скорее всего проблема в том, что сигнатура не верная/область видимости не та/срабатывает не то событие.
Нужно просто продебажить.
А вообще дам всем совет, вместо всяких разных webservice, remoteAction, restResource и т.д. сделайте простую станичку с типом text/json и контроллер к ней и получите очень простой и хороший, не затрагивающий лимиты инструмент для ajax запросов.
А вообще дам всем совет, вместо всяких разных webservice, remoteAction, restResource и т.д. сделайте простую станичку с типом text/json и контроллер к ней и получите очень простой и хороший, не затрагивающий лимиты инструмент для ajax запросов.
Если я не ошибаюсь это не ошибка а всего лишь Warning. Он не влияет на правильность работы скрипта.
Ошибаешься. Когда есть ошибка в скрипте, то когда ты делаешь асинхронный запрос из JS появляется именно эта ошибка. сам недавно сутки мудахался.
[quote="Dmitry Shnyrev"]Если я не ошибаюсь это не ошибка а всего лишь Warning. Он не влияет на правильность работы скрипта.[/quote]
Ошибаешься. Когда есть ошибка в скрипте, то когда ты делаешь асинхронный запрос из JS появляется именно эта ошибка. сам недавно сутки мудахался.
Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience. For more help, check http://xhr.spec.whatwg.org/.
Wilder, ты про эту ошибку?
Конкретно это не ошибка, а Warning. И нет никакого криминала в том что он появляется. Другое дело что за ним уже может последовать ошибка - как у меня на скриншоте. НО сколько я работаю с RemoteAction - никогда никаких проблем при этом не возникало!!! Как вариант может быть я не сталкивался с проблемами потому что не использовал RemoteAction совместно с обычным поведением Visualforce страниц. А зачем? Если уже использовать Remote Action то по полной.
Честно признаться я так толком и не понял в чем причина этих косяков - возможно просто недостаток самого Salesforce. Вот тут нашел про эту ошибку, но понимания так и не пришло - https://toster.ru/q/180809
[quote="Sergey Prichepo"]Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience. For more help, check http://xhr.spec.whatwg.org/.[/quote]
Wilder, ты про эту ошибку?
[img]/pics/30/original_2015-03-08_15-14-44.png[/img]
Конкретно это не ошибка, а Warning. И нет никакого криминала в том что он появляется. Другое дело что за ним уже может последовать ошибка - как у меня на скриншоте.
НО сколько я работаю с RemoteAction - никогда никаких проблем при этом не возникало!!!
Как вариант может быть я не сталкивался с проблемами потому что не использовал RemoteAction совместно с обычным поведением Visualforce страниц. А зачем? Если уже использовать Remote Action то по полной.
Честно признаться я так толком и не понял в чем причина этих косяков - возможно просто недостаток самого Salesforce. Вот тут нашел про эту ошибку, но понимания так и не пришло - https://toster.ru/q/180809
НЕ ПРАВИЛЬНО
var resFunc = function(result) { createRemoteSiteSettings({!API.Session_ID}, result); }
var result = jsExecuteApex('orgsrc','login','{!SourceSync__OrgSrc__c.Id}',null, true);
ПРАВИЛЬНО
var resFunc = function(result) { createRemoteSiteSettings("{!API.Session_ID}", result); }
Вот из-за этого вылетает стандартный асинхронний салесфорс процесс и появляется тот самый варнинг.
[code]
[b]НЕ ПРАВИЛЬНО[/b]
var resFunc = function(result) {
createRemoteSiteSettings([b]{!API.Session_ID}[/b], result);
}
var result = jsExecuteApex('orgsrc','login','{!SourceSync__OrgSrc__c.Id}',null, true);
[b]ПРАВИЛЬНО[/b]
var resFunc = function(result) {
createRemoteSiteSettings([b]"{!API.Session_ID}"[/b], result);
}
[/code]
Вот из-за этого вылетает стандартный асинхронний салесфорс процесс и появляется тот самый варнинг.
Вот из-за этого вылетает стандартный асинхронний салесфорс процесс и появляется тот самый варнинг.
Не совсем понял твой пример: ты показываешь что у тебя ошибка в строке var result = jsExecuteApex('orgsrc','login','{!SourceSync__OrgSrc__c.Id}',null, true); Так а что в результате происходит? JS перестает выполняться? Это опять же возвращаясь к тому вопросу что Warning не останавливает выполнение в отличии от Error, а у нас именно WARNING! Или данные не приходят или что еще? Я сколько не пытался тоже понять что не так с кодом и результатами - все работало как часы! Никаких проблем не возникало - я поэтому уже давно и забил на это сообщение.
[quote="wilder"]Вот из-за этого вылетает стандартный асинхронний салесфорс процесс и появляется тот самый варнинг.[/quote]
Не совсем понял твой пример:
ты показываешь что у тебя ошибка в строке
var result = jsExecuteApex('orgsrc','login','{!SourceSync__OrgSrc__c.Id}',null, true);
Так а что в результате происходит? JS перестает выполняться? Это опять же возвращаясь к тому вопросу что Warning не останавливает выполнение в отличии от Error, а у нас именно WARNING! Или данные не приходят или что еще?
Я сколько не пытался тоже понять что не так с кодом и результатами - все работало как часы! Никаких проблем не возникало - я поэтому уже давно и забил на это сообщение.
сорри, не совсем правильно прочитал твое сообщение
вылетает стандартный асинхронний салесфорс процесс
получается ты просто не получаешь в result никакого ответа?
сорри, не совсем правильно прочитал твое сообщение
[quote="Dmitry Shnyrev"]вылетает стандартный асинхронний салесфорс процесс[/quote]
получается ты просто не получаешь в result никакого ответа?
сорри, не совсем правильно прочитал твое сообщение
вылетает стандартный асинхронний салесфорс процесс
получается ты просто не получаешь в result никакого ответа?
[quote="Dmitry Shnyrev"]сорри, не совсем правильно прочитал твое сообщение
[quote="Dmitry Shnyrev"]вылетает стандартный асинхронний салесфорс процесс[/quote]
получается ты просто не получаешь в result никакого ответа?[/quote]
Так точно.
Все пофиксил просто надо было добавить return false.В js function которая вызывается непосредственно с onclick который запускает мой Remote и actionFunction.Хотя не до конца понял почему заработало.
function alertDealer(){ checkDealerRetailPrice(); return false; }
Почему бы просто не использовать 2 remote actions? Скорее всего проблема в том, что сигнатура не верная/область видимости не та/срабатывает не то событие. Нужно просто продебажить.
Именно так в начале я и хотел делать но потом подумал что писать сериализот для всех инпут филдов и полностью переписывать save metod будет затратно.
Все пофиксил просто надо было добавить return false.В js function которая вызывается непосредственно с onclick который запускает мой Remote и actionFunction.Хотя не до конца понял почему заработало.
function alertDealer(){
checkDealerRetailPrice();
return false;
}
[quote="Gres"]Почему бы просто не использовать 2 remote actions?
Скорее всего проблема в том, что сигнатура не верная/область видимости не та/срабатывает не то событие.
Нужно просто продебажить.[/quote]
Именно так в начале я и хотел делать но потом подумал что писать сериализот для всех инпут филдов и полностью переписывать save metod будет затратно.
кажется понял форма перезагружается раньше чем мы успеваем получить ответ с actionfuncion.
[quote="Sergey Prichepo"]function alertDealer(){
checkDealerRetailPrice();
return false;
}[/quote]
return false просто отменятет стандартное поведение события
return false просто отменятет стандартное поведение события
Только это надо делать не в функции, а в обработчике события. Т.е.
[quote="Gres"]return false просто отменятет стандартное поведение события[/quote]
Только это надо делать не в функции, а в обработчике события. Т.е.
[code]onclick="alertDealer(); return false;"[/code]
или тогда
[code]onclick="return alertDealer();"[/code]
[quote="Dmitry Shnyrev"]Только это надо делать не в функции, а в обработчике события. [/quote]
Ну естественно.
А вообще дам всем совет, вместо всяких разных webservice, remoteAction, restResource и т.д. сделайте простую страничку с типом text/json и контроллер к ней и получите очень простой и хороший, не затрагивающий лимиты инструмент для ajax запросов.
то есть все это асинхронное общение с сервером можно решить без "спец средств" как remoteAction, а просто с помощью обычных страниц и контролеров, и с клиента "стучать" по ним, например, теми AJAX средствами которые дает jQuery.
это можно использовать, например, под JS кнопкой на стандартном лейауте, когда хочется обойтись без использования SF AJAX tool.
но больше смысла использовать на активной странице, работающей на каком-то фронт-энд JS движке, и у которой, соответственно, много колбек вызовов и лимито-сбережение имеет смысл.
[quote="Gres"]А вообще дам всем совет, вместо всяких разных webservice, remoteAction, restResource и т.д. сделайте простую страничку с типом text/json и контроллер к ней и получите очень простой и хороший, не затрагивающий лимиты инструмент для ajax запросов.[/quote]
то есть [b]все это асинхронное общение[/b] с сервером можно решить без "спец средств" как remoteAction, а просто с помощью обычных страниц и контролеров, и с клиента "стучать" по ним, например, теми AJAX средствами которые дает jQuery.
это можно использовать, например, под JS кнопкой на стандартном лейауте, когда хочется обойтись без использования SF AJAX tool.
но больше смысла использовать на активной странице, работающей на каком-то фронт-энд JS движке, и у которой, соответственно, много колбек вызовов и лимито-сбережение имеет смысл.
то есть все это асинхронное общение с сервером можно решить без "спец средств" как remoteAction, а просто с помощью обычных страниц и контролеров, и с клиента "стучать" по ним, например, теми AJAX средствами которые дает jQuery.
[quote="Den Brown"]то есть все это асинхронное общение с сервером можно решить без "спец средств" как remoteAction, а просто с помощью обычных страниц и контролеров, и с клиента "стучать" по ним, например, теми AJAX средствами которые дает jQuery.[/quote]
Естественно
Естественно
нравится мне одна японская поговорка об этом: "Просто сделать сложно, сложно сделать просто"
[quote="Den Brown"]нравится мне одна японская поговорка об этом:
"Просто сделать сложно, сложно сделать просто"[/quote]
и там есть и другое выражение:
[i]ты, наверное, очень простой, если думаешь, что простые вещи так просты[/i]
прямо, как про програмирование
а так получается, что страничка с типом text/json и контроллером, как-то принимающая какие-то аргументы, - это и есть вариант REST servica с кастомным синтаксисом передачи аргументов в УРЛ. я давно читал, что REST сервис - это общая идея коммуникации клиента-контроллера, под которую каждый может создать свой стиль передачи команд, информации в урл строке ну и использовать HTTP методы. Интересно.
[quote="Gres"]Ты читал мою статью по этому поводу?[/quote]
Эту?
http://habrahabr.ru/post/253641/
прочту на неделе более внимательно.
а так получается, что страничка с типом text/json и контроллером, как-то принимающая какие-то аргументы, - это и есть вариант REST servica с кастомным синтаксисом передачи аргументов в УРЛ. я давно читал, что REST сервис - это общая идея коммуникации клиента-контроллера, под которую каждый может создать свой стиль передачи команд, информации в урл строке ну и использовать HTTP методы. Интересно.
а так получается, что страничка с типом text/json и контроллером, как-то принимающая какие-то аргументы, - это и есть вариант REST servica с кастомным синтаксисом передачи аргументов в УРЛ. я давно читал, что REST сервис - это общая идея коммуникации клиента-контроллера, под которую каждый может создать свой стиль передачи команд, информации в урл строке ну и использовать HTTP методы. Интересно.
Я пока все же использую именно вебсервис. Со стандартного лайаута достаточно удобно.
[quote="Den Brown"][quote="Gres"]Ты читал мою статью по этому поводу?[/quote]
Эту?
http://habrahabr.ru/post/253641/
прочту на неделе более внимательно.
а так получается, что страничка с типом text/json и контроллером, как-то принимающая какие-то аргументы, - это и есть вариант REST servica с кастомным синтаксисом передачи аргументов в УРЛ. я давно читал, что REST сервис - это общая идея коммуникации клиента-контроллера, под которую каждый может создать свой стиль передачи команд, информации в урл строке ну и использовать HTTP методы. Интересно.[/quote]
Я пока все же использую именно вебсервис. Со стандартного лайаута достаточно удобно.
Зачем после RemoteAction запускать actionFunction??? Это же одно и то же только разный принцип отправки запросам и обработки результата. Зачем делать один запрос, а потом из него вызывать второй запрос? Почему нельзя сделать все в одном?
Это как бы две разные вещи, и нет ничего крамольного использовать их вместе. Иногда упрощает жизнь.
[quote="Dmitry Shnyrev"]
Зачем после RemoteAction запускать actionFunction???
Это же одно и то же только разный принцип отправки запросам и обработки результата.
Зачем делать один запрос, а потом из него вызывать второй запрос? Почему нельзя сделать все в одном?
[/quote]
Это как бы две разные вещи, и нет ничего крамольного использовать их вместе. Иногда упрощает жизнь.
Можно использовать , но тогда я могу сказать только одно - с архитектурой данной страницы полная "жопа".
Знаешь, уже несколько лет их использую, надеюсь что да.
Тогда чем плохо продернуть RemoteAction и по ответу лениво перерисовать куски страницы средствами VF через ActionFunction особо не напрягая свой мозг? Хотя, конечно все зависит от проекта.
Тогда чем плохо продернуть RemoteAction и по ответу лениво перерисовать куски страницы средствами VF через ActionFunction особо не напрягая свой мозг?
Хотя, конечно все зависит от проекта.
Согласен, все зависит от задачи. Но у меня сложилось впечатление что если используется Remote Action то это уже ближе к JS и страница уже превращается в одностраничное приложение. Я их обычно использую с AngularJS, RactiveJS, или plain js, но уже никакие apex теги не использую и за перерисовку отвечает сам javascript (забываю про Visualforce). Если все таки ActionFunction, то это уже ближе к Visualforce и обычно смысла от RemoteAction нет особо. Опять же были такие ситуации, когда вроде страница начинались с VF, разрасталась, AJAX перерисовки тормозили, принималось решение внедрить RemoteActions чтобы потом перерисовывать "если что" и в итоге страница работала, но как она была сделана смотреть без слез нельзя было. В общем поэтому у меня сложилось мнение, что или VF(apex: теги) или RemoteActions+Javascript. Если начинается объединение, то это уже костыли.
Согласен, все зависит от задачи. Но у меня сложилось впечатление что если используется Remote Action то это уже ближе к JS и страница уже превращается в одностраничное приложение. Я их обычно использую с AngularJS, RactiveJS, или plain js, но уже никакие apex теги не использую и за перерисовку отвечает сам javascript (забываю про Visualforce). Если все таки ActionFunction, то это уже ближе к Visualforce и обычно смысла от RemoteAction нет особо.
Опять же были такие ситуации, когда вроде страница начинались с VF, разрасталась, AJAX перерисовки тормозили, принималось решение внедрить RemoteActions чтобы потом перерисовывать "если что" и в итоге страница работала, но как она была сделана смотреть без слез нельзя было.
В общем поэтому у меня сложилось мнение, что или VF(apex: теги) или RemoteActions+Javascript. Если начинается объединение, то это уже костыли.
Ты разницу между RemoteAction и ActionFunction, надеюсь, понимаешь?
Расскажи ка нам: что под капотом у той и другой технологии?
[quote="ogoblin"]Ты разницу между RemoteAction и ActionFunction, надеюсь, понимаешь?[/quote]
Расскажи ка нам: что под капотом у той и другой технологии?
Ты разницу между RemoteAction и ActionFunction, надеюсь, понимаешь?
Расскажи ка нам: что под капотом у той и другой технологии?
Если совсем просто - RemoteAction отвязанная от контроллера штука. ActionFunction - использование action метода контроллера.
[quote="Gres"][quote="ogoblin"]Ты разницу между RemoteAction и ActionFunction, надеюсь, понимаешь?[/quote]
Расскажи ка нам: что под капотом у той и другой технологии?[/quote]
Если совсем просто - RemoteAction отвязанная от контроллера штука. ActionFunction - использование action метода контроллера.
Если совсем просто - RemoteAction отвязанная от контроллера штука. ActionFunction - использование action метода контроллера.
Крут) На самом деле то и то может быть как в контроллере, так и отдельно.
[quote="ogoblin"]Если совсем просто - RemoteAction отвязанная от контроллера штука. ActionFunction - использование action метода контроллера.[/quote]
Крут)
На самом деле то и то может быть как в контроллере, так и отдельно.
Я так думаю тут не мальчики собрались. А отвязанная штука, имелось ввиду не в контексте контроллера выполняется. Как бы очевидная вещь. А в глубь копать можно очень долго и надо ли? Хотя можно конечно и глубже. Но не думаю, что кому нибудь Америку открою.
:)
Я так думаю тут не мальчики собрались. А отвязанная штука, имелось ввиду не в контексте контроллера выполняется. Как бы очевидная вещь. А в глубь копать можно очень долго и надо ли?
Хотя можно конечно и глубже. Но не думаю, что кому нибудь Америку открою.
Чуть более, чем коротко. Но, походу ничего нового. RemoteAction - Понятия не имеет, что происходит в контроллере страницы. - Разработчик сам определяет формат запроса/ответа (трафик). - Можно использовать с разных страниц (тип, контроллер и т.п.)
ActionFunction - JS обертка над методом контроллера. - Соответственно контекст контроллера. - При попустительстве разработчика гоняет тонны трафика, ибо передает куски готового HTML для встраивания в DOM. - для ленивых, но в некоторых случаях необходим.
Как-то так. В общем для каждого способа есть свое применение. Я как-то зачудил бесконечный скролл под SF1 с помощью JS and controller.next(). По крайней мере не парился с запоминанием позиций в выборках. Если платформа позволяет - почему бы и нет.
Чуть более, чем коротко. Но, походу ничего нового.
RemoteAction
- Понятия не имеет, что происходит в контроллере страницы.
- Разработчик сам определяет формат запроса/ответа (трафик).
- Можно использовать с разных страниц (тип, контроллер и т.п.)
ActionFunction
- JS обертка над методом контроллера.
- Соответственно контекст контроллера.
- При попустительстве разработчика гоняет тонны трафика, ибо передает куски готового HTML для встраивания в DOM.
- для ленивых, но в некоторых случаях необходим.
Как-то так. В общем для каждого способа есть свое применение. Я как-то зачудил бесконечный скролл под SF1 с помощью JS and controller.next(). По крайней мере не парился с запоминанием позиций в выборках. Если платформа позволяет - почему бы и нет.
Кстати на счет remote action с разных страниц. Не помню точно, но вроде у меня недавно была проблема - я не мог вызывать remote action если он не в контроллере данной страницы. Хотя я вроде до этого момента тоже был уверен что remote action можно куда угодно положить и дергать. (сейчас попробую найти или воспроизвести что у меня была за проблема).
Кстати на счет remote action с разных страниц.
Не помню точно, но вроде у меня недавно была проблема - я не мог вызывать remote action если он не в контроллере данной страницы. Хотя я вроде до этого момента тоже был уверен что remote action можно куда угодно положить и дергать. (сейчас попробую найти или воспроизвести что у меня была за проблема).
у меня недавно была проблема - я не мог вызывать remote action
меня тоже этот вопрос сразу заинтересовал, для того чтобы иметь возможность вызывать remote action, нужно ли обязательно, чтоб эта страница сидела на том контроллере в котором описан этот remote action?
[quote="Dmitry Shnyrev"] у меня недавно была проблема - я не мог вызывать remote action[/quote]
меня тоже этот вопрос сразу заинтересовал, для того чтобы иметь возможность вызывать remote action, нужно ли обязательно, чтоб эта страница сидела на том контроллере в котором описан этот remote action?
Вот товарищи, проверил то что обещал. Как дела с доступом к RemoteAction вне контроллера страницы? Никак, по крайней мере у меня, не знаю как у вас
На страницу testContactsPage попробовал добавить вызов remote action из контроллера test111Controller
Result: [COMPILE FAILED]: (testContactsPage) No remoted actions found to resolve '$RemoteAction.test111Controller.testRemoteA' (Line: 1, Column: -1)
Даже global не помогает. Вроде extends для контроллера класса содержащего remote actions позволяет решить эту проблему. Не пробовал (не любитель я ООП, ну вы же помните )
Вот товарищи, проверил то что обещал.
Как дела с доступом к RemoteAction вне контроллера страницы?
Никак, по крайней мере у меня, не знаю как у вас :)
На страницу testContactsPage попробовал добавить вызов remote action из контроллера test111Controller
[b]Result: [COMPILE FAILED]: (testContactsPage) No remoted actions found to resolve '$RemoteAction.test111Controller.testRemoteA' (Line: 1, Column: -1)[/b]
Даже global не помогает. Вроде extends для контроллера класса содержащего remote actions позволяет решить эту проблему. Не пробовал (не любитель я ООП, ну вы же помните :D )
Вроде extends для контроллера класса содержащего remote actions
не знаю как там с remote actions, но интересная идея: унаследовать текущий контроллер от какого то базового и использовать в нем методы супер контроллера. но с сервис-классами, вызываемыми в контроллре, выглядит проще
[quote="Dmitry Shnyrev"]Вроде extends для контроллера класса содержащего remote actions[/quote]
не знаю как там с remote actions, но интересная идея: унаследовать текущий контроллер от какого то базового и использовать в нем методы супер контроллера. но с сервис-классами, вызываемыми в контроллре, выглядит проще
Дядьки простите засранца. Да, Remote action нельзя использовать из другого контроллера - я походу не так выразился. extends спасает любителей ооп в данном случае.
Дядьки простите засранца. Да, Remote action нельзя использовать из другого контроллера - я походу не так выразился.
extends спасает любителей ооп в данном случае.
Ну еще в копилку ajax фишек - супер метод товарища Gres по использованию страницы которая возвращает json и которую надо дергать с помощью ajax POST запросов. Мега интересная идея. Жду случая применить на практике
Ну еще в копилку ajax фишек - супер метод товарища Gres по использованию страницы которая возвращает json и которую надо дергать с помощью ajax POST запросов. Мега интересная идея. Жду случая применить на практике :D
[quote="Den Brown"]Эту?
http://habrahabr.ru/post/253641/
прочту на неделе более внимательно.[/quote]
мне одному кажется что в строке:
[code]var result = $.post('{!Page.RestApi}', {command : 'test'});[/code]
пропущен знак $ перед Page?
и если мне не показалось, то подскажите, чё $.post(...) возвращает мне:
[code]{"readyState":1}[/code]
PS: ага, нужно просто немного подождать, и вернут Стейт 4 со страницей.
НО, страница так и не отгружается, а отгружается страница с ошибкой
"Visualforce Error
The name can only contain underscores and alphanumeric characters."
идем дальше...
ах, ну да, нужно отрубить Дев мод.
да, работает...