Как получить загрузку HTML с Ajax и JQuery - PullRequest
0 голосов
/ 03 июля 2011

Я использую jquerymobile. У меня есть страница, которая получает последние сообщения с нажатием на кнопку обновления.

Я не могу получить html из viewposts.php для показа в #test div.

$("#refresh").click(function(){        
            $.ajax({  

               cache: false,
               url: "mobile/viewposts.php", 
               success: function (html) {
                    $("#test").append(html);
                    $("#test").fadeOut(1000);
                    alert(html);
                }


            }); 

Я пытался с dataType: 'html', и введите: 'POST' и GET.
Пробовал с $ ("# test"). Html (html);

Затухание работает. Предупреждение пустое.

Страница просмотра сообщений получает последние сообщения из БД. Я также повторяю некоторые случайные HTML в viewposts.php.

Я могу сделать вызов ajax и получить HTML, если я не использую jquery. Проблема в том, что возвращаемый HTML-файл не использует таблицу стилей jquerymobile, поэтому он выглядит просто как простой текст.

Я новичок в этом.

Пожалуйста, помогите.

<div data-role="page" id="readBlogPage">
    <div data-role="header">
        <h1>Read Blog</h1>
    </div>
    <div data-role="content">
        <!--<button onclick="ajaxFunction()" data-theme="b" data-role="button" data-iconpos="left" data-icon="refresh" >Refresh</button>-->

        <fieldset class="ui-grid-a">
            <div class="ui-block-a"><a href="#createNewPostPage" id="cancel" data-role="button" data-rel="dialog">New Post</a></div>
            <div class="ui-block-b"><button id="refresh" data-theme="b" data-role="button" data-iconpos="left" data-icon="refresh" type="submit">Refresh</button></div>
        </fieldset>

        <!--<button onclick="ajaxFunction()" data-theme="b" data-role="button" data-iconpos="left" data-icon="refresh" id="refresh" type="button">refresh</button>-->
        <ul data-role="listview" data-theme="d" data-inset="true" id="ajaxout">



        </ul>
        <div id="test" >asdfsadfsd</div>

    </div>
</div>

Viewposts.php отображает несколько строк, подобных этой

echo "<li><h3 style=\"margin:0px;\">" . $ row['post_title'] . "</h2>" . $row['post_content'] . "<p class='ui-li-aside'>Lat: ". $row['lat'] ."&nbsp;&nbsp;Lon: ". $row['lon'] ."&nbsp;&nbsp;" .$row['post_date'] . "<strong></p></li>";

Это заголовок ответа в firebug

Response Headers
Date    Sun, 03 Jul 2011 17:38:20 GMT
Server  Apache/2.2.3 (Red Hat)
X-Powered-By    PHP/5.1.6
Cache-Control   max-age=0
Expires Sun, 03 Jul 2011 17:38:20 GMT
Content-Length  0
Connection  close
Content-Type    text/html; charset=UTF-8
X-Pad   avoid browser bug

Ответы [ 2 ]

0 голосов
/ 04 июля 2011

Кажется, у вас Content-Length из 0. Это нормально?

0 голосов
/ 04 июля 2011

Исходя из того, что я вижу (пожалуйста, исправьте меня, если я ошибаюсь), вы пытаетесь поместить полученный HTML-код из файла viewposts.php в $ ("# test"),

Вашпытаясь сделать это:

functionn(html){

 $("#test").append(html);
}

Jquery Ajax возвращает: данные, поэтому попробуйте:

function(data){
$("#test".append(data);
}

Документация Jquery Ajax:

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