Я разрабатываю регистрационную форму в ASP.NET, в которой я использую сценарии на стороне клиента. Поэтому я использовал метод jQuery.ajax для отправки данных всех полей на сервер через веб-сервис ASP.NET. Но когда я выполняю метод Jquery.ajax, он вызывает функцию ошибки. Я попытался отладить его с помощью Firebug в Firefox. Это показало ошибку 500 Internal Server Error. Теперь я предполагаю, что для вставки данных в WebService мне нужно использовать метод POST, а также мне нужна функция на стороне сервера внутри Webservice, которую можно вызывать с помощью метода POST. Я предоставляю несколько фрагментов кода для иллюстрации того, что я сделал.
Мой клиентский скрипт:
//My Client Side Function
function registerUser()
{
var User = {
FirstName:$get("txtFirstName").value,
LastName:$get("txtLastName").value
.
.
//and so on....This way I creat my json object to POST on server
};
//jQuery to POST Data
jQuery.ajax({
type:"POST",
url:"Service/UserRegistration.asmx/InsertUser",
data:User,
success:notifyUser,
error:setErrorField
});
}
//Function for Success Complition
function notifyUser(msg)
{
alert("Registration Successfull");
}
Мой веб-сервис на сервере:
//My C# Web Service Logic
[WebMethod]
public void InsertUser(User use)
{
FreeUser us = new FreeUser();
us.FirstName = use.FirstName;
.
.
//and so on
}
Теперь я предполагаю, что метод POST требует WebInvoke
class в качестве атрибута. Как мне сделать метод, который может быть вызван JavaScript? Возможно, мне придется использовать WebInvoke
для этого.