0

私のスクリプト

<script type ="text/javascript">
     $(document).ready(function () {
         $('#<%=Button1.ClientID %>').click(function () {
             var ABC = 'TEST';
             $.ajax({
                 type: "POST",
                 url: "Default.aspx/ServerSideMethod"  ,
                 data: "{ EmailAddress : ABC }",
                 contentType: "application/json; charset=utf-8",
                 dataType: "json",
                 async: true,
                 cache: false,
                 success: function (msg) {
                     alert(msg);
                     $('#myDiv').text(msg.d);
                 }
             })
             return false;
         });
     });
     </script>

コードビハインド方式

[WebMethod]
public static string ServerSideMethod(string EmailAddress)
{
    return EmailAddress ;
}

<asp:Button ID="Button1" runat="server" Text="Click" />
<br /><br />
<div id="myDiv"></div>

ボタンをクリックすると、InvalidJSONprimitive:ABCが表示されます。このエラーは、私が何を間違っているかを体に伝えることができます。

4

1 に答える 1

0

エラーが明確に示しているように、サーバーに送信しているJSONは無効です。
JSONの文字列リテラルは引用符で囲む必要があります。

JSON.stringify({ EmailAddress: ABC })Javascriptオブジェクト式からJSON文字列を作成するために呼び出す必要があります。

于 2013-03-08T18:12:34.127 に答える