2009-05-02 17 views

答えて

5

使用AJAX:次に

$.get('somepage.aspx', {foo: 'bar'}, function(data){ 
    alert('the page returned this: '+data); 
}); 

は、関数を実行し、(必要な場合)のデータを返すためにsomepage.aspxを設定します。あなたは、呼び出すサーバー側でWebメソッドを使用して、クライアント上でAJAXする必要があるサーバーのみのメソッドを持っている場合http://docs.jquery.com/Ajax

1

:jQueryのAJAXの詳細について

はこれを参照してください。 を読むthis私は便利です。

さようなら

+0

は、Webサービス/ Webメソッドの簡単なjQueryの$である必要はありませんただ、なぜあなたはjQueryを使ってgetElementByIdをと、このようなを混ぜない、不思議 –

1

私はあなたがasp.netを使用していることを見たので、あなたは、いくつかのオプションがあります:現在のaspxページ以外の任意のリソースを取得するために

  1. 、使用する$に.getを()。これはイメージファイルでも、別のaspxページからの出力でもかまいません。
  2. 現在のページをラウンドトリップして、現在のページなどのセキュリティを利用する必要がある場合は、call a web methodとすることができます。 ViewStateは、Webメソッドの呼び出し中は使用できません。私がリンクした記事はDave WardのEncosiaのもので、jQueryとAsp.netを使ってAJAX呼び出しを行うための豊富なシリーズがあります。
2

は、ここでは、jQueryとマイクロソフトのAjaxでカスタムASP.NET PageMethodを呼び出すことができます方法は次のとおりです。

<%@ Page Language="C#" AutoEventWireup="true" %> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

<html xmlns="http://www.w3.org/1999/xhtml" > 
<head runat="server"> 
    <title>Untitled Page</title> 
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js"></script> 
    <script type="text/javascript" src="http://www.json.org/json2.js"></script> 
</head> 
<script runat="server"> 
    /// <summary> 
    /// A custom PageMethod that will echo back the argument 
    /// </summary> 
    /// <param name="argument">some arbitrary string</param> 
    /// <returns></returns> 
    [System.Web.Services.WebMethod] 
    public static string MyPageMethod(string argument) 
    { 
     return "hello " + argument; 
    }  
</script> 

<script type="text/javascript"> 
function callPageMthodWithMicrosoftAjax(argument) { 
    PageMethods.MyPageMethod(argument, function(result) { 
     document.getElementById('result').innerHTML = result; 
    }, function(error) { 
     alert(error.get_message()); 
    }); 
} 

function callPageMthodWithjQueryAjax(argument) { 
    jQuery.ajax({ 
     url: '/default.aspx/MyPageMethod', 
     type: 'post', 
     contentType: 'application/json', 
     data: JSON.stringify({ argument: argument }), 
     dataType: 'json', 
     processData: false, 
     success: function(data, textStatus) { 
      jQuery('#result').html(data.d); 
     }, 
     error: function(XMLHttpRequest, textStatus, errorThrown) { 
      var jsonError = JSON.parse(XMLHttpRequest.responseText); 
      alert(jsonError.Message); 
     } 

    }); 
} 
</script> 
<body> 
    <form id="form1" runat="server"> 
     <asp:ScriptManager ID="ScriptManager" runat="server" EnablePageMethods="true" />  
     <a href="#" onclick="callPageMthodWithMicrosoftAjax('Microsoft Ajax')">call PageMethod with Microsoft Ajax</a> 
     <br /> 
     <a href="#" onclick="callPageMthodWithjQueryAjax('jQuery')">call PageMethod with jQuery</a> 
     <div id="result"></div> 
    </form> 
</body> 
</html> 
+0

のに.get? –

+0

良い点@Pim、それはjQueryが使われていないと思われるcallPageMthodWithMicrosoftAjaxメソッドからのコピー貼り付けでした。私はそれに応じて自分の投稿を修正した。 –

0

は、jQueryのアヤックス()メソッドを使用します。

$.ajax({ 
    url: "test.aspx/method", 
    context: document.body, 
    success: function(){ 
    $(this).addClass("done"); 
    } 
}); 
関連する問題