JQUERY呼び出しWebservice

3061 ワード

Webserviceをリクエストする場合は、主にWebserviceのメソッドをリクエストします.リクエストする前にコードの先頭にあるキャンセルコメントのヒントを忘れないでください"//ASP.NET AJAXを使用してスクリプトからこのWebサービスを呼び出すことを許可するには、下りのコメントをキャンセルしてください.
                   //[System.Web.Script.Services.ScriptService]”
Webserviceを要求する方法の処理方法はaspxページバックグラウンドを要求する方法と似ていますが、いくつかの違いがあります.
リクエストされたwebserviceのメソッドの特徴:
(1)要求の方法はpublicでなければならない.
(2)メソッドには[WebMethod]タグが必要である.
(3)Get方式で要求したい場合は[ScriptMethod(UseHttpGet=true)]のタグも必要である.GetでWebserviceをリクエストする方法を使う場合は、このタグを追加するだけでは不十分で、Webも修正する.Configファイルは、WebServiceがGet方式のリクエストをサポートするようにします.そうしないと、「URLが意外に「/GetXmlByGet」で終了し、リクエストフォーマットが認識できません.「のエラーです.変更方法は、System.webコンフィギュレーション・セクションに次の赤い内容を追加します.

  
  
  
  
<System.web> …………… <webServices>       <protocols>         <add name="HttpGet"/>         <add name="HttpPost"/>       </protocols>     </webServices>
(4)  xml , , string xml

メソッドが文字列を返す場合、返された文字列はラベルにパッケージされて返されます.
たとえば、次のメソッドで要求された戻り値です.
    [WebMethod]
public string GetXmlByPost()
{
   return "    Post       xml ";
}

戻り値:

戻るxmlをPost方式で要求しています.
赤い部分はリクエストメソッドで返す文字列で、他は自動的に追加されるので、フロントでjqueryでデータを取得する場合は$(res)である.find(”string”).text();
メソッドがxmlDocumentオブジェクトを返す場合は、メソッドで構築されたxmlオブジェクトです.
たとえば、次のメソッドで要求された戻り値です.
//Get方式でxmlを要求し、返される文字列は必ず解析可能なxmlフォーマットであることに注意してください.
[WebMethod]
[ScriptMethod(UseHttpGet = true)]
public System.Xml. XmlDocument GetXmlByGet()
{
   string xml = "<?xml version=\"1.0\" encoding=\"utf-8\"?><my>    Get       xml</my>";
    System.Xml.XmlDocument doc = new System.Xml.XmlDocument();
   doc.LoadXml(xml);
   return doc;

応答は次のとおりです.
Get方式で戻るxmlをリクエストしました
このとき$(res)を通過することができる.find(”my”).text()方式でデータを取りました.このときの操作は完全にあなた自身が構築したxmlです.
 
(5)JSONの返却要求について注意すべきことは,「d:{}」形式のデータを返すことであり,フロントで取得する際には必ず付加することである.d」と、他とxmlの差は多くありません.
(6)Textのタイプはあまり言わない.