メソッド名を URL に追加し (/HelloWorld
たとえば、)、method: "post"
ajax 呼び出しで指定する必要があります (POST
リクエストを使用する場合)。これを試して:
$.ajax({
url: "http://10.0.2.2/SampleService/Service/HelloWorld.asmx/HelloWorld",
method:"POST",
dataType: "text",
cache: false,
crossDomain: true,
timeout: 15000,
success: function (rtndata) {
alert('Got Success ::' + rtndata);
},
error: function (xhr, errorType, exception) {
alert("Excep:: " + exception + "Status:: " + xhr.statusText);
}
});
GET
リクエスト メソッドとして使用する場合は、 web.configファイルに次のタグがあることを確認してください。
<system.web>
<webServices>
<protocols>
<add name="HttpGet" />
<add name="HttpPost" />
</protocols>
</webServices>
</system.web>
また、サービス メソッドを次のように装飾する必要がありますScriptMethodAttribute
。
[ScriptMethod(UseHttpGet = true)]
[WebMethod]
public string HelloWorld()
{
return "Hello World";
}
ajax 呼び出し (method: "GET"
のデフォルト メソッドであるため、オプションですtext
):
$.ajax({
url: "http://localhost:57315/helloworld.asmx/HelloWorld",
method: "GET"
dataType: "text",
cache: false,
crossDomain: true,
timeout: 15000,
success: function (rtndata) {
alert('Got Success ::' + rtndata);
},
error: function (xhr, errorType, exception) {
alert("Excep:: " + exception + "Status:: " + xhr.statusText);
}
});
を使用しているので、おそらくrequestを使用しcache: false
たいと思うでしょう:GET
Setting cache to false will only work correctly with HEAD and GET requests.
It works by appending "_={timestamp}" to the GET parameters.