Ajax 调用未调用服务器端,并且在 httpfox 中在 ajax 后调用中显示错误为“错误加载内容(NS_ERROR_DOCUMENT_NOT_CACHED)”

Cha*_*mar 1 asp.net ajax jquery jsonp json.net

在这里,我正在从我的 asp.net 页面进行一个简单的 ajax post 调用,它在 httpfox 上显示以下错误。“加载内容时出错(NS_ERROR_DOCUMENT_NOT_CACHED)”和

 error: function () { alert(arguments[2]); } 
Run Code Online (Sandbox Code Playgroud)

我的 ajax 调用将警报消息显示为“内部服务器错误”

在这里,我正在创建一个 JSON 数组并将该 json 数组转换为 JSON 字符串并作为参数传递给服务器端方法。

这是我的 ajax 调用

 $('#btnResult').on('click', function () {
            var myObject = new Object();

            $("#<%=GridProjectDetails.ClientID %>  tr").each(function () {
                var id = $(this).find("input[name*='ID']").val();
                var locationcode = $(this).find("input[name*='TextLocationCode']").val();
                var Location = $(this).find("input[name*='TextLocation']").val();
                myObject.id = id;
                myObject.locationcode = locationcode;
                myObject.Location = Location;
            });

            var myString = JSON.stringify(myObject);
            alert(myString);
            var exportdata = myString;

            $.ajax({
                type: "POST",
                url: "Default.aspx/ExportToExcel",
                data: exportdata,
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                success: function (data) {
                    $("#Result").text(data.d);
                },
                error: function () { alert(arguments[2]); }
            });
        });
    });
Run Code Online (Sandbox Code Playgroud)

这是我的服务器端代码

    [WebMethod]
    [ScriptMethod(ResponseFormat = ResponseFormat.Json)]
    public static string ExportToExcel(string details)
    {

        return "Message : Success";
    }
Run Code Online (Sandbox Code Playgroud)

任何的想法 ?这里发生了什么事 ?

Ili*_*mov 5

尝试这个:

$('#btnResult').on('click', function () {
        var myArray = [];

        $("#<%=GridProjectDetails.ClientID %>  tr").each(function () {
            var id = $(this).find("input[name*='ID']").val();
            var locationcode = $(this).find("input[name*='TextLocationCode']").val();
            var Location = $(this).find("input[name*='TextLocation']").val();
            var myObject = new Object();
            myObject.id = id;
            myObject.locationcode = locationcode;
            myObject.Location = Location;
            myArray.push(myObject);
        });

        var myString = JSON.stringify({details: JSON.stringify(myArray)});
        alert(myString);
        var exportdata = myString;

        $.ajax({
            type: "POST",
            url: "Default.aspx/ExportToExcel",
            data: exportdata,
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function (data) {
                $("#Result").text(data.d);
            },
            error: function () { alert(arguments[2]); }
        });
    });
});
Run Code Online (Sandbox Code Playgroud)