2012-05-11 3 views
-1

У меня проблемы с этим, я искал несколько руководств, но они, похоже, не работают для меня (они либо или достаточно подробно, либо я слишком глупый, возможно, что-то от обоих).Как получить вызов AJAX в моем расширении Ext Ext Ext Extension Extension Extension Extension Extension TYPO3?

Итак, я хочу начать вызов AJAX из моего файла Fluid View HTML по какому-либо событию, затем он должен перейти к действию в каком-то контроллере и вернуть какое-то значение (любое значение будет в порядке на данный момент, я просто могу " Кажется, что здесь все работает, когда дело касается AJAX в Extbase).

+0

Пожалуйста, разместите код. – peter

+0

Вот код http://daniel.lienert.cc/blog/blog-post/2011/04/23/typo3-extbase-und-ajax/ Я не могу правильно разместить его, я (думаю, я) знаю код, который вам нужен. – user828591

+0

[Вот общий учебник] (http://www.alexanderschnitzler.de/2011/06/howto-ajax-requests-with-extbase-and-fluid/#more-278) – peter

ответ

1

без деталей я могу только догадываться, что это ваша проблема

Первое и самое главное ... с помощью FireBug, чтобы проверить, что проблема с AJAX вызова. Это может быть неправильный URL (действие, контроллер и т. Д.) Или какая-то проблема в вашем действии, которая не возвращает требуемый вывод. FireBug позволит вам проверить, где они стекаются.

Но, скорее всего, ...

Существует очень важная вещь, чтобы помнить при написании кода JS/CSS непосредственно в ваш взгляд жидкости, и, к сожалению, почти никогда не упоминается:

Fluid использует фигурные скобки для обозначения что строка является переменной: {someVar}, поэтому, если вы поместите AJAX или другую функцию JavaScript в шаблон Fluid, скорее всего, это будет рассматриваться как переменная Fluid. Этот образец приклеивается к шаблону:

$.ajax({ 
    url: "index.php" 
    data: "tx_myextension_plugin[controller]=MyController&tx_myextension_plugin[action]=getData&type=89657201" 
    success: function(result) { 
    alert(result); 
    } 
});  

Будет оказана как:

$.ajax(Array); 

Решение:

Спасаясь непосредственно в шаблоне трудно, поэтому это определенно легче просто сохраните весь свой JavaScript в отдельный файл в разделе Resources/Public вашего расширения и включите его в общий HTML-тег:

<script type="text/javascript" src="typo3conf/ext/yourext/Resources/Public/ajaxFunctions.js"></script> 
0
$("#searchFach").change(function(){ 
     $.ajax({ 
       type: 'POST', 
       url:"fragen/controller/Question/searchQuestions",  
       data: {mainCategoryId:$("#searchFach").val()}, 
       success: function(response) { $("#searchCategory").html(response);       
       }, 
     }); 
    });`