Отправить ajax-запрос к файлу внутри Jquery Dialog - PullRequest
0 голосов
/ 03 марта 2012

Я пытаюсь отправить запрос ajax на страницу, которая загружается в диалоговом окне Jquery. Это код моего диалогового окна:

$('#dialog').dialog({
        modal: false,
        open: function ()
        {
            $(this).load('window.php');
        },         
        height: 240,
        width: 400,
        title: 'Ajax Page'
    });

Теперь у меня есть ссылка на моей странице, которая отправляет ajax-запрос на страницу "window.php", по клику:

 $.post("window.php", { username: username }

И на загруженной странице (window.php) я поставил код для печати параметров записи ...

<?php
echo 'Hello world';
var_dump($_POST);
if(isset($_POST['username']))
{
echo ':: '.$_POST['username'];
}
?>

Но, к моему удивлению, я не получаю никаких параметров запроса, напечатанных на загруженной странице диалогового окна. Я просто получаю Hello world. В чем может быть проблема?

Ответы [ 4 ]

1 голос
/ 03 марта 2012

Я не уверен, правильно ли я понял вашу проблему. Но я чувствую, что вы хотите, чтобы что-то было опубликовано в window.php, и его ответ должен отображаться в диалоговом окне.

вы можете сделать это так:

любимый

Я пытаюсь отправить запрос ajax на страницу, которая загружается в диалоговом окне Jquery. Это код моего диалогового окна:

$('#dialog').dialog({
    modal: false,
    open: function ()
    {
        $.ajax(function(){
            url:"window.php",
            data:{ 'username' : username},   // now depends from where you are bringing this username from
            type:"post",
            sucess:function(msg){
                $('#dialog').html(msg)
            }
        });
   },         
   height: 240,
   width: 400,
   title: 'Ajax Page'
});

Я не понимаю мотив бихинга пользователя $.load(). Загрузка - это событие, которое срабатывает, когда что-то полностью загружено в браузере. Но вы звоните по открытому событию Диалога. Вы намеревались использовать .load() в качестве синонима для .html()?

1 голос
/ 03 марта 2012
 $.post('ajax/test.html', function(data) {
      $('#dialog').html(data);
    });
0 голосов
/ 03 марта 2012

Наконец-то я попробовал это, после того, как следил за постом Сандипа, и это, кажется, работает:

$.post('window.php', {"username":"john"}, function(data) {

        $('#dialog').dialog({
        modal: false,                     
        height: 240,
        width: 400,
        title: 'Ajax Page'
        }).html(data);
        });
0 голосов
/ 03 марта 2012

добавьте var_dump ($ _ POST), чтобы увидеть, что не так. Может:

$.post("window.php", { 'username' : username }
...