1

Charisma V.2.0.0 バンドルを ASP.Net C# アプリケーションに統合しました。Web サービスへの .ajax 呼び出しを作成するまでは、すべて問題ないように見えます。標準形式の Ajax 呼び出しは、基本的な asp.net ページで機能しますが、バンドルからです。彼の「bower_components」に何かあるようです。bower_components/jquery への参照を削除し、ajax.googleapis.com を含めています... 3.3.1.

誰もこの問題の経験がありますか? 解決策は何ですか?Muhammad がデザインした UI が好きで、プラットフォームである開発を続けたいと思っています。

axax 呼び出しは次のようになります。

 // Edit Client button
    $(document).on("click", "[id*=btnEditClient]", function () {
        // Edit selected client/Event Id - get data from Ajax
        //alert($(this).val());
        var clientId = $(this).val();
        var clientInfo = JSON.stringify({ clientId: clientId });
        alert(clientInfo);

        $.ajax(
            {
                url: '<%= ResolveUrl("QRWebService.aspx/GetClientListService") %>',
                type: "POST",
                data: clientInfo,
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                success: function (result) {
                    // results
                    alert(result.d);
                    alert('no error ' + JSON.stringify(result));
                    $("#myModal").modal()
                    return true;
                },
                error: function (jqXHR, textStatus, errorThrown) {
                    alert('error: ' + textStatus);
                }
            });            

        return false;
    })

結果は、Web サービスが呼び出されない「未定義」です。

Web サービスは次のとおりです。

[WebMethod]
    public static DataSet GetClientListService()
    {
        // returns dataset LIST of Client Id and Name
        DataSet ds = new DataSet();
        SQLHelper.SqlQuery oQuery = new SQLHelper.SqlQuery();
        String strSQL;

        try
        {
            strSQL = "SELECT Clients.ClientId, ClientName FROM Clients ";
            strSQL += "WHERE ClientActive=@clientActive";

            ds = oQuery.GetDataSet(strSQL);

        } catch(Exception ex){
            errorMessage = ex.Message;
        }

        return ds;
    }   // end GetClientEventList()
4

1 に答える 1

1

jQuery AJAX "401 (Unauthorized)" を使用して WebMethod を呼び出す ASP.NET を投稿します。App_Start を Permanent から次のように変更します。

  settings.AutoRedirectMode = RedirectMode.Off;

トリックをしました。これが他の人に役立つことを願っています。StackOverflow と、トリッキーな問題の解決策を投稿してくれたすべての人に感謝します。

于 2018-06-28T20:15:23.637 に答える