1

このような質問をここに投稿するのは嫌いですが、これがどのように機能するかを本当に理解するためのオプションが不足しています。通常の.NetWebサービスでは、JSONなどを構成せずに、次のWebメソッドがあります。

<WebMethod()> _
Public Function HelloWorld(ByVal str As Int32) As String
    Return "Hello, World!  str=" & str
End Function

JSを使用してこのWebメソッドを呼び出し、そこから値を取得して、alert()ステートメントに出力する非常に単純なWebページを作成したいと思います。私は自分でこのテーマを研究し続けていますが、この質問に対する正解を見つけるのに非常に苦労しています。

これは、私が到達できた最も近いものです(これは、実際には戻り値を使用していません)。

<html>
<body>
<script type="text/JavaScript">
    <!--
        alert("spam");                                
        $.ajax({
            type: "POST",
            data: "&str=1",
            url: "<HTTP path and filename>.asmx/HelloWorld",
            timeout: 15000,
            cache:false,
            success: function (data) {
                alert("good");
            },
            error: function() {
                alert("bad");
            }
        });
        alert("spam");
    //-->
</script>
</body>
</html>

繰り返しになりますが、StackOverflowにこのような質問を投稿するのは好きではありませんが、これに対する明確で直接的な答えを見つけることができず、JavaScriptを初めて使用します。ありがとう!

編集:Ajax呼び出しの周りにtry ... catchブロックを投げると、次のメッセージが表示されます:

$ is not defined
4

1 に答える 1

2

$は変数です。コードは$、エイリアスとしてを使用して、jQueryライブラリを使用していることを示しています。

このコードを使用する場合は、jQueryライブラリを含める必要があります。

これを行うには、コードの前にこれを含めます。

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js" type="text/javascript"></script>

ただし、javascriptを初めて使用する場合は、最初にjQueryを使用せずに試すことをお勧めします。

すばらしいチュートリアルとして、私が知っている最高のリソースであるMDNのみを紹介します。

どうしてもjQueryを使用したい場合は、dataパラメーターが間違っていることを知っておく必要があります。文字列を受け入れますが、この文字列は整形式ではないため、次のようになりますstr=1。別の変数を追加すると、になりますstr=1&foo=2

jQueryを使用すると、文字列の代わりにオブジェクトを配置できます。これにより、構文上の糖衣構文が提供され、一般的に推奨される方法です(エラーが発生しにくくなります)。

data: {
    str: 1,
    foo: 2
}
于 2012-10-29T20:09:29.900 に答える