簡體   English   中英

Ajax jQuery收到錯誤:[對象錯誤]

[英]Ajax jQuery getting Error: [object Error]

嗨,我嘗試將參數發送到我的Web服務以獲取數據。 但是iam總是出現錯誤:[對象錯誤]

錯誤快照

該錯誤是什么意思?

到目前為止,Web服務正在運行。 如果我在瀏覽器中調用Web方法,則會獲取所有數據。

我做錯了什么。 我嘗試了很多事情,但是沒有幫助。希望您能幫助我

我的查詢:

    function loadDate() {

        jQuery.support.cors = true;
        PanelID = document.getElementById('PanelID').value;
        alert(PanelID);


        jQuery.ajax({
            type: "POST",
            url: "http://nexxt-entwicklung.de/Web/Service1.asmx/getDatetime",
            data: "{ 'PanelID': '" + PanelID + "' }",
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function(msg) {
                alert("Success: " + msg.d);

            },
            error: function(msg) {
                alert("Failed: " + msg.status + ": " + msg.statusText);

            }
        });   
    }

我的網絡服務:

 [ScriptService]
public class Helper
{
    public class VERANSTALTUNGEN
    {
    public string Von { get; set; }
    public string Bis { get; set; }
    public string Thema { get; set; }
    public string PanelIDs { get; set; }
    }

    [WebMethod]
    [ScriptMethod(ResponseFormat = ResponseFormat.Json)]
    public static List<VERANSTALTUNGEN> getDatetime(string PanelID)
        {

            List<VERANSTALTUNGEN> Besprechungen = new List<VERANSTALTUNGEN>();

            StringBuilder query = new StringBuilder("SELECT DISTINCT r.PanelID AS PANEL_ID, rr.Von AS DATEVON, rr.Bis AS DATEBIS, b.THEMA AS BESPRECHUNGSTHEMA FROM RAUM r right join RESERVIERUNGRAUM rr ON r.ID = rr.Raum_ID right join BUCHUNG b ON rr.BUCHUNG_ID = b.ID where r.PANELID = @ID ORDER BY rr.VON");

            using (SqlConnection con = new SqlConnection(@"Data Source=Localhost\SQLEXPRESS;Initial Catalog=BOOK-IT_LH;Integrated Security=true;"))
            using (SqlCommand cmd = new SqlCommand(query.ToString(), con))
            {
                cmd.Parameters.Add("@ID", System.Data.SqlDbType.Char);
                cmd.Parameters["@ID"].Value = PanelID;
                con.Open();

                using (SqlDataReader rdr = cmd.ExecuteReader())
                {
                    while (rdr.Read())
                    {
                        if (rdr["DATEVON"] != DBNull.Value && rdr["DATEBIS"] != DBNull.Value)
                        {
                            Besprechungen.Add(new VERANSTALTUNGEN()
                            {
                                Von = rdr["DATEVON"].ToString(),
                                Bis = rdr["DATEBIS"].ToString(),
                                Thema = rdr["BESPRECHUNGSTHEMA"].ToString(),
                                PanelIDs = rdr["PANEL_ID"].ToString()
                            });
                        }
                    }
                }
            }
            return Besprechungen;
     }
}

Web服務方法

[System.Web.Script.Services.ScriptService]
    public class Service1 : System.Web.Services.WebService
    {
        [WebMethod]
        public List<Helper.VERANSTALTUNGEN> getDatetime(string PanelID)
        {
            return Helper.getDatetime(PanelID);
        }
    }

這意味着msg.statusText是作為Error實例的對象。

使用console.log而不是alert來查看對象在Chrome / Firebug的控制台中包含的內容,或遍歷該對象並警告每個鍵/值。

關於問題本身,使用dataType json時:

你不應該這樣做:

data: "{ 'PanelID': '" + PanelID + "' }",

而是類似

data: { 'PanelID': PanelID },

否則導致您發送字符串而不是發布某些對象

請務必確保您已閱讀規范: http : //api.jquery.com/jQuery.ajax/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM