1

Default.aspx ページに次の PageMethod があります。

[WebMethod]
public static string Hello()
{
    return "Hello";
}

ここでは、AJAX 経由で返されるものに設定したい div テキストがあります。

<div id="ajaxDiv"></div>

以下は、AJAX を呼び出す 2 つの方法です。1 つ目は、標準の AJAX 呼び出しです。

 function testAjax()
{
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function ()
{
    if (xmlhttp.readyState == 4 && status == 200)
        $('#ajaxDiv').text(xmlhttp.responseText);
}
xmlhttp.open("POST", "Default.aspx/Hello", true);
xmlhttp.send();

}

2 つ目は、JQuery を使用したものです。

function testAjaxJQuery()
 {
  $.ajax(
  {
     type: "POST",
     url:"Default.aspx/Hello",
     data: "{}",
     success: function (data)
     {
         $('#ajaxDiv').text(data); 
     }
  }
 )

}

ボタンの onclick イベントをこれらの関数にバインドしますが、どちらのアプローチでも、"Hello" という単語ではなく、Default.aspx ページのマークアップを取得します。他に何をしなければなりませんか。

4

1 に答える 1

4

応答を取得するには data.d を使用する必要があります。

 $.ajax({
   type: "POST",
   url: "Default.aspx/Hello",
   data: "{}",
   contentType: "application/json; charset=utf-8",
   dataType: "json",
   success: function (data) {
         $("#ajaxDiv").text(data.d);
   }
});
于 2012-10-16T12:15:27.397 に答える