0

メソッドに問題があり、jsonこのエラーが発生します。これは私のコードです:

function test() {
            $.ajax({
                type: "POST",
                url: 'zz.aspx/GetDate',
                //processData: false,
                data: "{'keyWord':" + keyWord + "}",
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                success: function (msg) {   
                    if (msg.length > 0) {


                        $("#suggestions").fadeIn();
                        $("#suggestions").html(msg);

                        setTimeout('ToogleAct();', 500);
                    } else {
                        $("#suggestions").fadeOut();
                        $('#actions').css('display', 'none');
                        alert('ERROR [sasa ]');
                    }
                },
                error: function (xhr, status, error) {
                    alert('ERROR [ ' + error + ' ]');
                }
            });

        } else {
            $("#suggestions").fadeOut();
        }
    }

これはc#コードです:

 public static string GetDate(string keyWord)
    {

        string S = "";
        DataTable dt = DataLayer.Maghale.Search(keyWord).Tables[0];
        S += "<div id=\"SGR\" style=\"height: auto;\"><div id=\"APL\">";
        foreach (DataRow dr in dt.Rows)
        {
            S += "<a href=\"" + dr["Alias"].ToString() + "\">" +
                "<div class=\"imageholder\"> " +
                "<img src=\"~/MakeThumbnail.aspx?file=~/Images/CustomImages/Seo-S.png&i=80&j=80\")\"></div>" +
                "<span class=\"SGSH1\">" + dr["Title"].ToString() + "</span>" +
                "<span class=\"SGSH2\"> " + dr["Description"].ToString().Substring(0, 15) + " ... </span></a>";
        }
        S += "</div></div>";
        return S;
    }

type:Post; を使用する場合 その後、私の msg.Length>0 return false なぜそれが起こったのですか?文字列を返してhtmlに入れるにはどうすればよいですか?

そして、type=GET を使用すると、Post と Get の違いである Undefined Error が表示され、いつ get または post を使用する必要があるか教えてください、ありがとう

4

2 に答える 2

0

ajax 呼び出しを適切に設定する必要があります。有効な文字列をdataajax に渡していますが、サーバー側で「keyWord」変数を使用して送信された値にアクセスしたいと思います。data以下のように ajax を変更します。

data: { keyWord: $.trim($("#txtSearchBox").val()) },

またsetTimeout('ToogleAct();', 500);setTimeout(ToogleAct, 500);

于 2013-10-06T10:36:41.703 に答える