通过服务器端将HTML表传递给JSON导致错误

时间:2011-12-19 10:08:37

标签: c# asp.net html ajax json

我在服务器端代码中使用动态创建的HTML表(使用C#)。当我使用JASON将其传递给客户端站点时。我无法在客户端站点中接收该代码。这是我在服务器端的代码。

          $.ajax({
            type: "POST",
            url: "ExcelUpload.asmx/UploadFile",
            data: JSON.stringify({ XML: XMLDoc}),
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            beforeSend: function () {
                $("#Status").html("<br><center><img src='ajax-loader.gif'/></center>");

            },
            success: function (result) {
                var output = "";
                var re = eval('(' + result.d + ')');
                if (re.length > 0) {
                    for (var i in re) {
                        var xl = re[i];
                        switch (parseInt(xl.status)) {
                            case 1: { output = xl.message; break; }
                            case 2: { output = xl.message; break; }
                        }
                    }
                    $("#Status").html(output);
                }
            },

            error: function (result) {
                $("#Status").addClass("error");
                $("#Status").html(result.d);
            }

        });

在该服务器端代码中,我使用此代码生成HTML表

    HTML += "<table id='excelDoc'>";
        HTML += "<tr><th>Date</th><th>Description</th><th>Reference</th><th>Nominal Code</th><th>Dept Code</th><th>Debit</th><th>Credit</th></tr>";
        HTML += "<tr><td>" + eDoc.posting_Date.ToShortDateString() + "</td><td>" + eDoc.Description + "</td><td>" + eDoc.Ref_Number + "</td><td></td><td></td><td class='db'></td><td class='cr'></td></tr>";

HTML + =&#34;&#34;;

status =&#34; {status:1,message:&#34; + HTML +&#34;}&#34 ;; 返回&#34; [&#34; + status +&#34;]&#34 ;;

请帮帮我。

1 个答案:

答案 0 :(得分:0)

你为什么要做 result.d ? 它不应该只是结果吗? 我注意到的一件事,在你的AJAX请求中,你的 dataType: "json" 但是你要返回一个简单的字符串。改成 dataType:"text" 然后尝试返回字符串。它会起作用