Первичные и Ajax [дубликаты]

Если вы хотите отправить данные формы с помощью Ajax.Это способ отправить

var formData = new FormData();

//File Upload
   var totalFiles = document.getElementById("Iupload").files.length;


for (var i = 0; i < totalFiles; i++) {
    var file = document.getElementById("Iupload").files[i];

    formData.append("Document", file);
}

formData.append("NameCode", $('#SelecterID').val());
formData.append("AirLineCode", $('#SelecterID').val());


$.ajax({
        url: "/Controller/ActionName",
        type: "POST",
        dataType: "JSON",
        data: formData,
        contentType: false,
        processData: false,
        success: function (result) {
    }
})
39
задан BalusC 10 February 2016 в 09:57
поделиться

1 ответ

Невозможно повторно выполнить рендеринг (обновление) компонента с помощью ajax, если сам компонент не отображается в первую очередь. Компонент должен всегда отображаться перед тем, как ajax может повторно отобразить его. Ajax использует JavaScript document.getElementById(), чтобы найти компонент, который необходимо обновить. Но если JSF не отобразил компонент на первом месте, то JavaScript не может найти что-либо для обновления.

Решение состоит в том, чтобы просто ссылаться на родительский компонент, который всегда отображается.

<h:form>
    ...
    <h:commandButton ...>
        <f:ajax ... render=":text" />
    </h:commandButton>
</h:form>
<h:panelGroup id="text">
    <h:outputText ... rendered="#{not empty user}" />
</h:panelGroup>

См. также:

78
ответ дан Community 22 August 2018 в 16:31
поделиться
  • 1
    Я только что попробовал - но без результата – Artem Moskalev 9 February 2013 в 22:45
  • 2
    Не должен ли bean быть хотя бы ViewScoped или лучше SessionScoped? – perissf 9 February 2013 в 23:18
  • 3
    Но контейнер не распечатывает трассировку Exception. Обычно, когда идентификатор не найден - он печатает, что такой идентификатор не найден в области. – Artem Moskalev 9 February 2013 в 23:26
  • 4
    Ну, тогда логин просто недействителен :) – BalusC 9 February 2013 в 23:29
  • 5
    @TREMOR: двоеточие является правильным решением для кода в его текущей форме. У вас, по-видимому, другая конструкция, благодаря которой все помещается внутри одного и того же компонента контейнера именования. Проверьте последний & quot; См. Также & quot; ссылку для объяснения, как определить правильный идентификатор клиента. – BalusC 24 July 2017 в 13:51
Другие вопросы по тегам:

Похожие вопросы: