Ajax запрос к экшину плагина.
Если я делаю запрос через $.load то получаю ответ. А функция ls.ajaxForm по тому же урлу (именно при изменении урла) выдает ошибку. Даю запрос на site.my/mainpreview/upload-mainpreview/ физически файл находится /plugins/mainpreview/classes/actions/ActionMain.class.php
Консоль дебага выдает следующее:
Консоль дебага выдает следующее:
"parsererror"
SyntaxError
arguments: Array[1]
get message: function () { [native code] }
get stack: function () { [native code] }
set message: function () { [native code] }
set stack: function () { [native code] }
type: "unexpected_token"
__proto__: Error
arguments: undefined
constructor: function SyntaxError() { [native code] }
name: "SyntaxError"
stack: undefined
type: undefined
__proto__: SetUpError.d
13 комментариев
Обработчик пишется через регулярки также на любой вид url'а, и вызывает твою функцию. А уже в функции получаешь параметры вызова через requet «getRequest('sText');»
И отвечаешь назад через
"$this->Viewer_SetResponseAjax('json');" + $this->Viewer_AssignAjax('myVar','bar');
В скрипте уже ловишь ответ, и получаешь нужный результат из переменной. В нашем случае мы отправили ему переменную myVar со строкой 'bar'. Послать можно сколько угодно переменных.
Если в методе указываю:
Аджакс отрабатывает, т.е. alert выдает.
Если в методе:
Получаю ошибку:
Text status: parsererror errorThrow: SyntaxError: Unexpected token H XHRStatus: 200
WTF?
Посмотри как сделаны скрипты в \engine\lib\internal\template\js
(если я тебя правильно понял, что надо обязательно обрабатывать в шаблоне переменные, прежде чем они вернутся)
и я ловлю результат тем же скриптом.
В чем была проблема до этого уж и не пойму теперь, возможно в том что js был в отдельном файле, а может я в будущем опять столкнусь с этой проблемой и уже более подробно ее изучу.
Поэтому я для полноты информации и дописал. Рад, что у тебя тоже работает!