Как вызвать webservice на HTML-странице с помощью JQuery?
Дорогие Все,
у меня есть веб-сервис, который получает 2 строки и возвращает, если они равны
Веб-сервис, который в http://127.0.0.1/HTML_SIMPLE_TEST/
[WebService(Namespace = "http://tempuri.org/")] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] [System.Web.Script.Services.ScriptService] public class Service1 : System.Web.Services.WebService { [WebMethod(Description = "Validate the login credentials")] public bool Validate(string UserName, string Password) { if (Password == "test" && UserName == "test") return true; else return false; } }
и у меня есть html-страница, которая вызывает этот веб-сервис и должна вернуть результат
<html lang="en-US"> <head> <meta http-equiv="content-type" content="application/xhtml+xml; charset=UTF-8" /> <script src="Scripts/jquery-1.4.1.min.js" type="text/javascript"></script> <script type="text/javascript" language="javascript"> var Surl = "http://localhost:3031/WS_HTML/Service1.asmx/Validate"; $(document).ready(function () { $("input#submit").click(function (event) { //var uid = document.getElementById("UserName").value; //var pwd = document.getElementById("Password").value; var uid = "test"; var pwd = "test"; var dataString = "{ 'UserName' : '" + uid + "', 'Password' : '" + pwd + "'}"; $.ajax({ ServiceCallID: 1, url: Surl, type: 'POST', data: dataString, contentType: "application/json; charset=utf-8", dataType: "json", success: function (result) { returnVal = result.d; alert(returnVal); }, error: function (XMLHttpRequest, textStatus, errorThrown) { returnVal = ''; } }); }); }); </script> </head> <body > <form method=post runat="server"> <input type="submit" />Connet to my WS </form> </body> </html>
Клянусь Богом что уже несколько дней ломаю голову и не могу понять почему это не работает
):
спасибо,
Tadit Dash (ତଡିତ୍ କୁମାର ଦାଶ)
Видите ли вы какие-либо ошибки, зарегистрированные на вкладке консоли инструмента разработчика? Вы отладили код?
Kornfeld Eliyahu Peter
Вы уверены, что соединение установлено через порт 3031? Может быть, это динамический порт, назначенный VS?
goldsoft
я вижу, что ничего не происходит
Ranjeet Patel
http://localhost:3031/WS_HTML/Service1.asmx/Validate/UserName=test&пароль=тест
http://localhost:3031/WS_HTML/Service1.asmx/Validate/UserName=test/Password=test
Попробуйте запустить обе верхние ссылки и проверить, работает ли одна из них, тогда она работает
$.Аякс({
ServiceCallID: 1,
из этой строки попробуйте удалить ServiceCallID:1 и посмотрите, не повезет ли вам..
goldsoft
такой же.......
Ranjeet Patel
Смотрите, это означает, что ваша служба не работает... поэтому ни один клиент не может воспользоваться вашим сервисом.
убедитесь, что ваш сервис доступен и работает всегда.