Framework7 onPageInit不起作用

时间:2016-01-27 14:25:48

标签: javascript html-framework-7

我有一个Framework7模板。 我想在页面加载时调用webservice。 我在js文件中的代码是:

myApp.onPageInit('cards', function (page){
    myApp.alert('Alert 1');
            $.ajax({
                type: "POST",
                url: "http://localhost:6032/Api.svc/GetTicket/",
                data: JSON.stringify({UnitType:1,UnitNr:1,PrinterTextNr:1,PrinterNr:0,Copies:1,Logo:0,Delay:0,Host:'pc-pc',Port:8899}),
                processData: true,
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                success: function (data) {
                    //Get The Ticket
                    var ticket = data.data.TicketNumber;
                    document.getElementById('myticket').innerHTML = ticket;
                    //End Get The Ticket
                    document.getElementById('ticketBody').style.display = "block";
                    alert(1);
                },
                error: function (xhr) {
                    alert(xhr.responseText);
                }
            });    

}).trigger();

但是当页面加载没有做任何事情时。 当我在另一个html文件上尝试我的脚本时,它工作正常。 你能帮助我吗? 谢谢。

3 个答案:

答案 0 :(得分:1)

<!-- Views -->
  <div class="views">
    <!-- Your main view -->
    <div class="view view-main">
      <!-- Pages -->
      <div class="pages">
        <div class="page" data-page="cards">
          <div class="page-content">
            page content goes here
          </div>
        </div>
      </div>
    </div>

确保您的外部网页包含此<div class="page" data-page="cards">

答案 1 :(得分:0)

确保您初始化myApp并检查您的网页是否包含此行 <div data-page="cards" class="page"> 也尝试类似的东西 mainView.router.loadContent(ticket);

答案 2 :(得分:0)

试试这种格式

  function Get_MySQL_Category() {
        $.ajax({
            type: "POST",
            url: "http://localhost:6032/Api.svc/GetTicket/",
            data: JSON.stringify({UnitType:1,UnitNr:1,PrinterTextNr:1,PrinterNr:0,Copies:1,Logo:0,Delay:0,Host:'pc-pc',Port:8899}),
            processData: true,
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function (data) {
                //Get The Ticket
                var ticket = data.data.TicketNumber;
                document.getElementById('myticket').innerHTML = ticket;
                //End Get The Ticket
                document.getElementById('ticketBody').style.display = "block";
                alert(1);
            },
            error: function (xhr) {
                alert(xhr.responseText);
            }
        }); 
    };

    myApp.onPageInit('cards', function (page) {
        Get_MySQL_Category()
    });