2

これは私の最初の投稿です。どんな助けでも素晴らしいでしょう。jQuery と AJAX を使用して aspx ページから vb.NET サブルーチンを呼び出そうとしています。PC (Windows XP SP2) で VS 2008 からページを実行すると、うまく機能します。サイトを運用サーバー Windows Server 2008 にコピーしても、何も実行されません。エラーも何もありません。IEのスクリプトデバッガーでデバッグしてみました。私は何日もこれを理解しようとしてきましたが、何も思いつきません。

スクリプトは次のとおりです。

<script type = "text/javascript">
    function AjaxTest() {
        $.ajax({
            type: 'POST',
            url: "Test.aspx/AjaxTestSub",
            data: "{}",
            contentType: "application/json; charset=utf-8",
            dataType: 'json',
            async: true,
            cache: false,
            success: OnSuccess,
            failure: function (response) {
                alert("Didn't work!");
            }
        });
    }
    function OnSuccess(response) {
        alert("Worked!");
    }
</script>

簡単なサブルーチンは次のとおりです。

<WebMethod()> Public Shared Sub AddPOToTrailer()
    MsgBox("Made it to Subroutine!")
End Sub

私はたくさんの情報を省いたと確信しているので、何か役立つかもしれないことを考えられるかどうか尋ねてください.

4

2 に答える 2

1

MsgBox()サーバー側のコードから呼び出すことはできません。
その呼び出しを取り除くと、すべてが正常に機能するはずです。

于 2012-11-01T15:03:25.277 に答える
0

呼び出しがデータを返すことをテストしたい場合は、MsgBox ではなく Response.Write を使用できます。コード ビハインドの管理方法によっては、Response.Clear と Response.Flush を使用する必要がある可能性が高いことに注意してください。HttpHandler または Web サービス呼び出しの場合は問題ありませんが、Web ページを呼び出している場合は、一度サーバーに Response.End で停止するように指示しないと、ページ コンテンツ (HTML など) がレンダリングされます。コンテンツを出力ストリームに送信します。

お役に立てれば。

于 2012-11-01T15:07:34.510 に答える