JQuery Mobile создать страницу с помощью JSONP - PullRequest
1 голос
/ 21 апреля 2011

поэтому у меня есть приложение jQueryMobile, над которым я работаю, и что я хочу сделать, это когда пользователь нажимает на ссылку, которую я хочу, чтобы он получал данные JSONP из mysites api, а затем успешно выполнял вызов jsonp, создавая контент втекущая страница приложения moble теперь, когда загружается начальная страница, я могу вызвать jsonp и заполнить страницу, но когда я щелкаю ссылку, я получаю сообщение об ошибке, говорящее «страница загрузки ошибки», так как мне настроить его, когда пользователь щелкает ссылку, она срабатываетвызов jsonp, который создаст контент для отображения с помощью jquery mobile?

РЕДАКТИРОВАТЬ

, пытаясь объяснить лучше

У меня есть первоначальная настройка страницы

html

<div data-role="page" class='maninpage' id="page1">
    <div data-role="header" data-scroll="x">
        <div>
            <a href="#"><img src="img/iphoneheader.gif" alt="Penn State Live"></a>
        </div>
        <div data-role="navbar">
            <ul>
                <li>
                    <a href="colleges">Colleges</a>
                </li>
                <li>
                    <a href="campuswires">Campuses</a>
                </li>
                <li>
                    <a href="facultystaff">Faculty and Staff</a>
                </li>
                <li>
                    <a href="ofinterest">Of Interest</a>
                </li>
                <li>
                    <a href="photos">Photos</a>
                </li>
                <li>
                    <a href="videos">Video</a>
                </li>
                <li>
                    <a href="subscriptions">Newswire Subscription</a>
                </li>
                <li>
                    <a href="psutxt">PSUTXT</a>
                </li>
            </ul>
        </div>
    </div>
    <div id="content" data-role="content"></div>
    <div data-role="footer"></div><!-- /footer -->
</div><!-- /page -->

, затем при запуске я вызываю эту функцию, давая стартовые параметры

get_jsonp(data)

function get_jsonp(data){
$.ajax({
    dataType: 'jsonp',
    data:data,
    jsonpCallback:'create_content',
    async:false,
    url:'myapi'
 });
}

В моем обратном вызове create_content создается список HTML, которыйЗатем я использую для заполнения ul

следующим образом:

$('#content').empty().append(content);
$("div#content ul").listview();

Поэтому, когда кто-то нажимает на ссылку, я хочу повторить процесс с новыми параметрами, извлеченными из ссылки, отправляющейих на новую прослеживаемую страницу, но заполните с помощью ajax.

Это говорит о том, что мне нужно, чтобы мой обратный вызов создал целую новую страницу, и это нормально, если это то, что я должен сделать, но кто знает, может быть, я делаювсе это неправильно, но я думаю, что был бы какой-то способ предоставить контент для jquery mobile без возврата html?

1 Ответ

0 голосов
/ 22 апреля 2011

Вот документация , которую вы ищете, поскольку хотите использовать changePage ()

Пример:

$("[name=button_name]").click(function() { 
    $.mobile.changePage('anotherPage.php?parm=123','slide',false,true);
});

, поэтому, если пользователь нажимает накнопка (button_name) будет вызывать страницу «anotherPage.php? parm = 123», (слайд) - тип перехода, (false) - тип перехода в обратном направлении, и (true) - если вы хотите отслеживать страницу

ОБНОВЛЕНО (из ваших комментариев)

Не уверен, но вы можете попробовать это

$.mobile.changePage({
    // this posts to the page anotherPage.php, 
    // you could capture these parms and do some action
    url: 'anotherPage.php?parm=123&another=foobar', 
    type: 'post', 
    // this posts the data from the form to the 
    // same page as above, this could do other actions
    data: $('form#your_form').serialize() 
},'slide',false,false);

Я бы отнес

  • url: какзапрашивающая страница (что отображать)

и данные

  • : в качестве необходимых данных для отправки.

Надеюсь, это поможет

...