如何解决json和web服务错误,返回null消息! [英] how to solve json and web service error , return null message !

查看:64
本文介绍了如何解决json和web服务错误,返回null消息!的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在显示我的页面时出现问题,json在警告消息中返回null,webservice返回我的正常数据,但不显示在页面上



web服务(DirectoryService。 asmx)

 公共  GetDirectory 
继承 System.Web.Services.WebService

< WebMethod()> _
公共 功能 LoadData() As 字符串
' 列表(Of目录)()
System.Threading.Thread.Sleep( 500
Dim da As 目录()
Dim dt As Directories.DirectoriesDataTable
dt = da。读取( 3 Nothing 1 5

Dim 序列化器 As System.Web.Script.Serialization.JavaScriptSerializer()
Dim 作为 列表( 字典( 字符串对象))()
Dim row As Dictionary( Of 字符串对象

对于 每个 dr As DataRow dt.Rows
row = 字典( 字符串对象)()

对于 每个 col 作为 DataColumn dt.Columns
row.Add(col.ColumnName,dr(col))
下一步

rows.Add(row)
下一步

返回 serializer.Serialize(rows)

结束 功能





*网络服务结果

 <   string     xmlns   =  http://tempuri.org/ >  
[{DirectoryID:1,DirectoryName:艺术家,Dir ectoryNameAr : الفنانون DirectoryImage: 41570.7052485995.jpg, AllowDisplay:真, 排序依据:2 CreatedOn: \ /日期(1382536533483)\ /},{ DirectoryID :2,目录名 : 开发 DirectoryNameAr: المطورون, DirectoryImage: 41571.6455421065.jpg, AllowDisplay:真, 排序依据:1, CreatedOn: \ /日期(1382617774857)\ / },{ DirectoryID :3,目录名 : 教师, DirectoryNameAr: المعلمين, DirectoryImage: 123123, AllowDisplay:真, 排序依据 :3, CreatedOn:空},{ DirectoryID:4 目录名: 脸, DirectoryNameAr: الفنانون, DirectoryImage: 41570.7052485995.jpg, AllowDisplay:真排序依据 :2,CreatedOn : \ /日期(1382536533483)\ / },{ DirectoryID :5,目录名 : 内绍, DirectoryNameAr: المطورون, DirectoryImage: 41571.6455421065.jpg,AllowDisplay:true,OrderBy:1,CreatedOn:\ / Date(1382617774857)\ /}]
< / string >







* Json在我的页面上(Loading.aspx)



< script src =   js / jquery-1.6.4.min.js>< / script> 
< script type = text / javascript>
var skiprows = 1 ;
$( document )。ready( function (){
fnBuildData() ;
$( #btnComments)。bind( 点击 function (){
fnBuildData() ;
返回 false ;
})
});

// $(window).scroll(function(){
// if($(window).scrollTop()== $(document).height() - $(window).height()){

// fnBuildData( );
// }
// });
function fnBuildData() {

$( #imgLoading)。show();
$ .ajax({
type: POST
contentType: Application / json; charset = utf-8
url:< span class =code-string> GetDirectory.asmx / LoadData
data:' {}'
datatype: json
成功: function (msg){

var nextrows =<%= getrows %> +1;
skiprows + = nextrows;

var cmntobject = $ .parseJSON(msg.d);
警报(cmntobject);
$( #imgLoading)。hide();
if (cmntobject.length< nextrows)
{$( < span class =code-string>#btnComments)。hide(); }
$ .each(cmntobject, function (index,cmnt){
$( #resultsTable)。append( < ; table>< tr>< td> DirectoryName:< / td>< td>
+ cmnt.DirectoryName + < / td>< / tr>< tr>< td> DirectoryNameAr:< / td>< td>
+ cmnt.DirectoryNameAr + < / td>< / tr>< tr>< td colspan ='2 'nowrap ='nowrap'>
+ cmnt.DirectoryID + < hr />< / td>< / tr>< / table>);
});

}

错误: function (){alert( ' 发生错误,请稍后再试。'); $( #imgLoading)。hide(); }
});
}


< / script>





* asp



< div id =resultsTable>



< / div>

< img id =imgLoadingalt =loadingsrc =images / loadingAnimation.gif/>

< asp:ImageButton ID =btnCommentsEnableViewState =false Width =90Height =90ClientIDMode =Staticrunat =serverImageUrl =〜/ images / loadmore.jpg/>











显示我的页面(loading.aspx)但返回消息(null)







我的问题在哪里?

解决方案

< blockquote>( document )。ready( function (){
fnBuildData();


#btnComments)。bind( 点击 function (){
fnBuildData();
return false ;
})
});

//


(window).scroll (function(){
// if(


i have aproblem when display my page with json return null in alert message , webservice return my normal data , but not display on page

web service (DirectoryService.asmx)

Public Class GetDirectory
     Inherits System.Web.Services.WebService

    <WebMethod()> _
    Public Function LoadData() As String
        'List(Of Directory)()
        System.Threading.Thread.Sleep(500)
        Dim da As New Directories()
        Dim dt As New Directories.DirectoriesDataTable
        dt = da.Read("3", Nothing, 1, 5)

        Dim serializer As New System.Web.Script.Serialization.JavaScriptSerializer()
        Dim rows As New List(Of Dictionary(Of String, Object))()
        Dim row As Dictionary(Of String, Object)

        For Each dr As DataRow In dt.Rows
            row = New Dictionary(Of String, Object)()

            For Each col As DataColumn In dt.Columns
                row.Add(col.ColumnName, dr(col))
            Next

            rows.Add(row)
        Next

        Return serializer.Serialize(rows)

    End Function



* web service result

<string xmlns="http://tempuri.org/">
[{"DirectoryID":1,"DirectoryName":"artist","DirectoryNameAr":"الفنانون","DirectoryImage":"41570.7052485995.jpg","AllowDisplay":true,"OrderBy":2,"CreatedOn":"\/Date(1382536533483)\/"},{"DirectoryID":2,"DirectoryName":"Developer","DirectoryNameAr":"المطورون","DirectoryImage":"41571.6455421065.jpg","AllowDisplay":true,"OrderBy":1,"CreatedOn":"\/Date(1382617774857)\/"},{"DirectoryID":3,"DirectoryName":"Teachers","DirectoryNameAr":"المعلمين","DirectoryImage":"123123","AllowDisplay":true,"OrderBy":3,"CreatedOn":null},{"DirectoryID":4,"DirectoryName":"face","DirectoryNameAr":"الفنانون","DirectoryImage":"41570.7052485995.jpg","AllowDisplay":true,"OrderBy":2,"CreatedOn":"\/Date(1382536533483)\/"},{"DirectoryID":5,"DirectoryName":"nesho","DirectoryNameAr":"المطورون","DirectoryImage":"41571.6455421065.jpg","AllowDisplay":true,"OrderBy":1,"CreatedOn":"\/Date(1382617774857)\/"}]
</string>




* Json on my page (Loading.aspx)

<script src="js/jquery-1.6.4.min.js"></script>
        <script type="text/javascript">
            var skiprows = 1;
            $(document).ready(function () {
                fnBuildData();
                $("#btnComments").bind("click", function () {
                    fnBuildData();
                    return false;
                })
            });

            //$(window).scroll(function () {
            //    if ($(window).scrollTop() == $(document).height() - $(window).height()) {

            //        fnBuildData();
            //    }
            //});
            function fnBuildData() {

                $("#imgLoading").show();
                $.ajax({
                    type: "POST",
                    contentType: "Application/json ; charset=utf-8",
                    url: "GetDirectory.asmx/LoadData",
                    data: '{}',
                    datatype: "json",
                    success: function (msg) {

                        var nextrows = <%= getrows%> +1;
                    skiprows += nextrows;

                    var cmntobject = $.parseJSON(msg.d);
                    alert(cmntobject);
                    $("#imgLoading").hide();
                    if (cmntobject.length < nextrows)
                    { $("#btnComments").hide(); }
                    $.each(cmntobject, function (index, cmnt) {
                        $("#resultsTable").append("<table><tr><td>DirectoryName :</td><td>"
                            + cmnt.DirectoryName + "</td></tr><tr><td> DirectoryNameAr : </td><td> "
                            + cmnt.DirectoryNameAr + "</td></tr><tr><td colspan='2' nowrap='nowrap'>"
                            + cmnt.DirectoryID + "<hr /></td></tr></table>");
                    });

                }
                    ,
                error: function () { alert('Error occured , try later .'); $("#imgLoading").hide(); }
            });
            }


   </script>



* asp

<div id="resultsTable">

</div>
<img id="imgLoading" alt="loading" src="images/loadingAnimation.gif" />
<asp:ImageButton ID="btnComments" EnableViewState="false" Width="90" Height="90" ClientIDMode="Static" runat="server" ImageUrl="~/images/loadmore.jpg" />





when display my page (loading.aspx) but it return message (null)



where is my problem ?

解决方案

(document).ready(function () { fnBuildData();


("#btnComments").bind("click", function () { fnBuildData(); return false; }) }); //


(window).scroll(function () { // if (


这篇关于如何解决json和web服务错误,返回null消息!的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆