あなたのページの上に置いてScriptManager制御をし、あなたの.asmx
サービスへの参照を追加:あなたのWebサービスのコードビハインドで
<asp:ScriptManager ID="myManager" runat="server">
<Services>
<asp:ServiceReference Path="~/MyService.asmx" />
</Services>
</asp:ScriptManager>
は(ScriptService属性に注目してください)あなたのWebメソッドを宣言します。
namespace MyServices
{
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
[ScriptService]
public class MyService : System.Web.Services.WebService
{
[WebMethod]
public string SayHello(name)
{
return "Hello, " + name;
}
}
}
は今、あなたは次のようにJavaScriptからのWebサービスを利用することができます
function queryWebService() {
MyServices.MyService.SayHello('Bobby',
function(result, userContext) {
alert('Web-service response: ' + result);
}, function(result) {
alert('Error!');
});
}
UPDATE
あなたは、単にHTTPのGETリクエストを送信することにより、ウェブサービスを利用したい場合は、次の操作を実行できます。
ScriptMethod属性を持つあなたのWeb-方法飾る:
を
[WebMethod]
[ScriptMethod(UseHttpGet = true)]
public string SayHello(name)
{
return "Hello, " + name;
}
に設定されたUseHttpGetプロパティに注目してください。 (例ではjQuery.ajaxを使用しています)、以下に示すように今、あなたのWebサービスへの単純なHTTP GETリクエストを行うことができます
<webServices>
<protocols>
<add name="HttpGet"/>
</protocols>
</webServices>
:あなたはおそらくも、この種の相互作用を可能にしweb.config
ファイルを変更する必要があり
$.ajax({
url: "/MyService.asmx/SayHello?name=Bobby",
success: function(transport) {
alert('Web-service response: ' + transport.responseText);
}
});
希望すると、これが役立ちます。
[JQueryを使用してWebメソッドを呼び出す](0120-18751)を参照することができますが、私は探していませんが、 –