Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/398.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 内容空载(jquery mobile)_Javascript_Jquery_Jquery Mobile - Fatal编程技术网

Javascript 内容空载(jquery mobile)

Javascript 内容空载(jquery mobile),javascript,jquery,jquery-mobile,Javascript,Jquery,Jquery Mobile,我正在用jQuery mobile和json来开发一个应用程序,它可以带来数据。 我有一个问题,加载内容时,我点击一个按钮,但如果我直接输入链接的内容是存在的 请看: 如果单击任何图像,它将显示一个没有内容的页面:http://www.example.com.ar/catalogoar/ 但是如果您输入http://www.example.com.ar/catalogoar/arma_ampliada.html?id_arma=1内容就在那里 我找不到问题。我已经试过了 $("#tabla_ar

我正在用jQuery mobile和json来开发一个应用程序,它可以带来数据。 我有一个问题,加载内容时,我点击一个按钮,但如果我直接输入链接的内容是存在的

请看:

如果单击任何图像,它将显示一个没有内容的页面:
http://www.example.com.ar/catalogoar/

但是如果您输入
http://www.example.com.ar/catalogoar/arma_ampliada.html?id_arma=1
内容就在那里

我找不到问题。我已经试过了

$("#tabla_arma").table('refresh');

请先了解jQuery Mobile的工作原理,然后再发布更多相关问题。我不是想攻击你,但是这里的人不喜欢这种问题

要解决这个问题,您需要了解jQuery移动页面处理是如何工作的,而您无法解决这个问题

当jquerymobile仅处理页面时,首先将HTML文件完全加载到DOM,所有中间文件仅部分加载。当我说部分时,我的意思是头将被剥离,只加载第一个数据role=“page”

因此,如果您有两个页面,例如,让我们假设第一个页面名为index.html,第二个页面名为arma\u ampliada.html。当第二个页面初始化时,只有data role=“page”中的内容将加载到DOM中,其他所有内容都将被丢弃,包括加载数据所需的头javascript

阅读有关它的更多信息,您还将找到解决方案

您的arma_ampliada.html页面应如下所示:

<html>
<head>
    <title>Catálogo de Armas</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1" />

    <!-- CSS -->
    <link rel="stylesheet" href="css/jquery.mobile-1.4.2.css" />
    <link rel="stylesheet" href="css/listview-grid.css">
    <link rel="stylesheet" href="css/estilos.css">

    <!-- JS -->
    <script src="js/jquery-1.9.1.min.js"></script>
    <script type="text/javascript">
        $(document).on("mobileinit", function()
        {
            $.mobile.defaultPageTransition = 'slide';
        });
    </script>
    <script src="js/jquery.mobile-1.4.2.min.js"></script>
    <!-- <script src="js/cordova.js"></script> -->
</head>
<body>
<div data-role="page" data-theme="a" id="demo-page" class="my-page">
    <script>
        var armas;

        function obtenerArmaAmpliada(id_arma){
            $.ajax({
                type: 'GET',
                data: {'id_arma' : id_arma},
                dataType : 'jsonp',
                url: 'service/datos.php?jsoncallback=?',
                success:function(data){
                    armas = data.armas;
                    mostrarArmas();
               },
               error: function() {
                 alert("error");
               }
            });
        }


        function mostrarArmas ()
        {
            $("#arma_ampliada").html('');
            $.each(armas, function(indice, receta) 
            {
                $("#arma_ampliada").append('<tr><td><a href="arma_ampliada.html?id_arma='+receta.id+'"><img src="'+receta.foto+'" class="ui-li-thumb" ><h2>'+receta.marca+'</h2><p>'+receta.modelo+'</p></a></td></tr>');
            });
            $("#tabla_arma").table('refresh');
        }

        $(function(){
            var Url = location.href;
            Url = Url.replace(/.*\?(.*?)/,"$1");
            Variables = Url.split ("&");
            for (i = 0; i < Variables.length; i++) 
            {
                Separ = Variables[i].split("=");
                eval ('var '+Separ[0]+'="'+Separ[1]+'"');
            }

            obtenerArmaAmpliada(id_arma);
        });
    </script>
    <div data-role="header" style="overflow:hidden;">
        <h1>Cat&aacute;logo de Armas</h1>
        <a href="index.html" data-icon="back" data-iconpos="notext" class="ui-btn-right">Opciones</a>
        <div data-role="navbar">
            <ul>
                <li><a href="#">Marcas</a></li>
                <li><a href="#">Calibre</a></li>
                <li><a href="#">Tipo</a></li>
            </ul>
        </div>
    </div>

    <div role="main" class="ui-content">
        <div id="tabla_arma">
            <table id="arma_ampliada">

            </table>
        </div>
    </div><!-- /content -->

</div><!-- /page -->
</body>
</html>

阿玛斯猫
$(文档).on(“mobileinit”,函数()
{
$.mobile.defaultPageTransition='slide';
});
var armas;
函数obtenerArmaAmpliada(id_arma){
$.ajax({
键入:“GET”,
数据:{'id_arma':id_arma},
数据类型:“jsonp”,
url:'service/datos.php?jsoncallback=?',
成功:功能(数据){
armas=data.armas;
莫斯特拉马斯();
},
错误:函数(){
警报(“错误”);
}
});
}
函数mostrarArmas()
{
$(“#arma_ampliada”).html(“”);
$。每个(ARMA、功能(指示、接收)
{
$(“#arma_ampliada”)。追加(“”);
});
$(“#tabla_arma”).table('refresh');
}
$(函数(){
var Url=location.href;
Url=Url。替换(/.\?(.*?/,“$1”);
变量=Url.split(&);
对于(i=0;i

  • 不要只链接到您的网站。至少添加一些你有问题的相关代码。我不知道是什么代码失败:S。我只是做了一个链接到另一个页面,并在该页面上显示内容。谢谢你的回答,我正在尝试通过实践学习,但在某些部分我不知道如何去做。对不起,如果我的问题被打乱了,我在谷歌上找不到解决方案。你的链接帮助我理解了我的错误。谢谢。别担心,你没有让我生气,下次小心点,这里的人不喜欢这种问题。只要我能帮忙,我不介意。:)谢谢,下次我会接受你的建议=)