Skip to main content
 首页 » 编程设计

javascript之c#之使用 Jquery 进行 AJAX 调用时出现问题

2024年01月13日33www_RR

晚上好 我正在尝试在 C# 页面中执行 AJAX 调用,但我正在处理一些问题。

我的 jQuery 代码是:

$(document).ready(function () { 
    $.ajax({ 
        type: "POST", 
        url: "conteudo.aspx/GetNewPost", 
        data: { ids: "<%=Request.QueryString["idconteudo"]%>" }, 
        contentType: 'application/json; charset=utf-8', 
        dataType: 'json', 
        error: function (XMLHttpRequest, textStatus, errorThrown) { 
            alert("Request: " + XMLHttpRequest.toString() + "\n\nStatus: " + textStatus + "\n\nError: " + errorThrown); 
        }, 
        success: function (data) { 
            alert("ok"); 
        } 
    }); 
}); 

我的代码隐藏是:

[WebMethod] 
    public static string GetNewPost(string ids) 
    { 
        // some code 
        return ids; 
    } 

有人知道这是怎么回事吗? PS:错误是Internal Server Error。

请您参考如下方法:

请使用如下代码

因为您使用的是查询字符串中的文本数据类型,所以您可以将数据类型设置为text

$(document) 
        .ready(function () { 
            var q = "<%=Request.QueryString["idconteudo"]%>"; 
            alert(q);// just to check the value 
            // assuming that you had passed query string value 
 
            $.ajax({ 
                type: "POST", 
                url: "conteudo.aspx/GetNewPost", 
                data: { "ids": q }, 
                //contentType: 'application/json; charset=utf-8', 
                dataType: 'text',// data type should be text 
                error: function(XMLHttpRequest, textStatus, errorThrown) { 
                    alert("Request: " + 
                        XMLHttpRequest.toString() + 
                        "\n\nStatus: " + 
                        textStatus + 
                        "\n\nError: " + 
                        errorThrown); 
                }, 
                success: function(data) { 
                    alert("ok"); 
                } 
            }); 
        }); 

编辑1:如果Web Method在ASPX页面上,你应该使用下面的代码,这样你就可以得到Json格式的结果

$(document) 
        .ready(function () { 
            var q = "<%=Request.QueryString["idconteudo"]%>"; 
            //alert(q); 
            // just to check the value 
            // assuming that you had passed query string value 
 
            $.ajax({ 
                type: "POST", 
                url: "conteudo.aspx/GetNewPost", 
                data: '{ids: "' + q + '" }', 
                contentType: 'application/json; charset=utf-8', 
                dataType: 'json', 
                error: function (XMLHttpRequest, textStatus, errorThrown) { 
                    alert("Request: " + 
                        XMLHttpRequest.toString() + 
                        "\n\nStatus: " + 
                        textStatus + 
                        "\n\nError: " + 
                        errorThrown); 
                }, 
                success: function (result) { 
                    alert("ok" + result.d); 
                } 
            }); 
        });