试图通过javascript从json获取数据并在jquery移动页面上显示

时间:2017-04-24 11:44:50

标签: javascript php jquery html json

我希望使用JAVASCRIPT通过php url获取JSON数据并在JQuery mobile" li"中显示数据。 tag(它将是一个完整的类别列表)但使用下面给出的代码并不显示anthing。我会非常感激,从最近8个小时开始我就陷入了困境。

<script>
                  var session_id = localStorage.getItem('session_id');
                  var user_id = localStorage.getItem('user_id');  
            $(document).ready(function() {
             //$('#output').html('somestuff');

                $('#loginForm').submit(function() {
                    //$('#output').html('Connecting....');
                    var postTo = 'http://localhost/categories.php';
                    //alert(postTo);
                    $.post(postTo,{userid: $('[name=user_id]').val() ,   sessionid:  $('[name=session_id]').val()} , 
                        function(data) {

                            if(data.status == 'true') {

                                $("#userdata tbody").html("");
                                $.getJSON(postTo,function(data){
                                $.each(data.members, function(i,user){
                                var tblRow =
                                "<li data-theme="e">"
                                 +"<a data-transition="flow" href="">"+user.category+"</a>"
                                  +"</li>";
                                $(tblRow).appendTo("#userdata tbody");
                                });
                                });


                            } else {

                                window.open("./MyApp.html","_self");
                            }

                        },'json');

                    return false;
                });
            });
            </script>

2 个答案:

答案 0 :(得分:0)

$(tblRow).appendTo("#userdata tbody");应为

类似

$("#userdata tbody").appendTo(tblRow);

了解更多here about appending content to element

 var tblRow ="<li data-theme="e">"  
                             +"<a data-transition="flow" href="">"+user.category+"</a>"
                             +"</li>";

将其更改为

 var tblRow ='<li data-theme="e">' 
                             +'<a data-transition="flow" href="">'+user.category+'</a>'
                             +'</li>';

检查您的控制台对错误的准确性以及确切失败的位置。

请参阅writing html with jQuery

的此问题

答案 1 :(得分:0)

+"<a data-transition="flow" href="">"+处的语法错误。 &#34;流速&#34;是外部报价(所以它被算作var,但你没有使用&#34; +&#34;)所以你应该只在#34; flow&#34之前和之后加上单引号;。 同样适用于href。