Проблемы с вызовом AJAX POST из диалога - PullRequest
0 голосов
/ 09 апреля 2020

У меня сложная страница. В этой паре есть одна кнопка. Нажатие этой кнопки запускает Javascript:

<input type="button" onclick="javascript:ShowDifferenze('@item.x', '@item.y')" />

Этот Javascript находится в файле. js. Этот javascript открывает диалоговое окно, загружает данные с помощью вызова ajax GET и добавляет некоторые ссылки в диалоговое окно.

image

Последняя ссылка вызывает javascript. В опубликованном примере javascript работает, появляется предупреждение. Диалоговое окно закрывается неправильно, но это не РЕАЛЬНАЯ проблема.

Вместо предупреждения мне нужно вызвать AJAX POST, и вот реальная проблема: если я изменю javascript вот так:

$("#dialog").append('<script> '+
                            'function Prova() '+
                            '{'+
                            '  alert("Prova"); '+
                            '  $.ajax( { '+
                            '            type:"POST", '+
                            '            url : "/Gestione/Fonti/Prova/", ' +   
                            '            data: "id="+cod+"&ApriLink=true", '+
                            '            success: function(data) { alert("Aggiornato!"); }, '+
                            '            error: function (error) { alert("error")); } '+
                            '          });'+
                            '}'+
                            '</script>');

ничего не работает: оповещения не отображаются, и контроллер не вызывается.

Есть какие-либо предложения?

Я исправил код javascript, как мне кажется, должен быть ... но все равно не работает: с ИСПРАВЛЕННЫМИ "data" работает, data: "id = abcdefgh & ApriLink = true" с VARIABLE "data", ничего не работает data: "id = "+ трески +" & ApriLink = истина "

1 Ответ

0 голосов
/ 10 апреля 2020

Решено: это правильный "внутренний" javascript:

$("#dialog").append('<script> '+
                            'function AggiornaFonte() ' +
                            '{'+                          
                            '  $.ajax( { ' +
                            '            type: "POST", ' +
                            '            url : "/Gestione/Fonti/Prova/", ' +                           
                            '            data : { id: "'+cod+'", ApriLink: true }, ' +
                            '            success : function(data) { $("#dialog").dialog("close"); }, '+
                            '            error : function (error) { alert("error " + eval(error)); } '+
                            '          });'+
                            '}'+
                            '</script>');

Запишите данные: {id: "'+ cod +'", ApriLink: true} строка: параметр "cod" должны быть указаны.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...