"> فراخوانی وب سرویس توسط Jquery Ajax در ASP.NET

فراخوانی وب سرویس توسط Jquery Ajax در ASP.NET

فراخوانی وب سرویس

در این آموزش، نحوه فراخوانی وب سرویس را از jQuery Ajax نشان خواهم داد. برای شروع در Visual Studio یک web application ایجاد می کنیم. سپس آخرین نسخه  jQuery را دانلود کرده و به صفحه html یا aspx  اضافه می کنیم.

<script src=" jquery-2.1.1.js="" scripts="" type="text/javascript"></script>

 

حالا سرویس asmx  را با نام HelloSercice.asmx به پروژه web application اضافه کنید. حالا یک کلاس جدید به نام Employee ایجاد می کنیم.


public class Employee
{
    public string EmpFirstName { get; set; }
    public string EmpLastName { get; set; }
}

یک web method جدید به نام GetEmpoyeeDetails  ایجاد کنید سپس آن را با استفاده از jQuery Ajax مانند شکل زیر صدا می زنیم:

[WebMethod]
public Employee GetEmployeeDetail()
{
    Employee objEmp = new Employee();
    objEmp.EmpFirstName = "Tech";
    objEmp.EmpLastName = "Illumination";
    return objEmp;
}

در متد بالا، یک شی Employee  ایجاد کردیم و آن را با داده های غیرواقعی پر کرده و در نهایت این شی را بر می گردانیم.

و حالا به بهترین قسمت این آموزش رسیدیم جایی که باید متد وب سرویسمان را با استفاده از  jQuery Ajax صدا بزنیم.id=”lblData”></label>

<input type="button" id="btnCallService" value="GetEmployeeDetail" />
<label id="lblData"></label>

می خواهیم وقتی روی دکمه، کلیک شد، از طریق jQuery ، وب سرویس فراخوانده شود مانند زیر:


$(function() {
    $('#btnCallService').click(function() {
        $.ajax({
            type: 'POST',
            url: 'HelloService.asmx/GetEmployeeDetail',
            dataType: 'json',
            contentType: 'application/json; charset=utf-8',
            success: function(response) {
                $('#lblData').html(JSON.stringify(response));
            },
            error: function(error) {
                console.log(error);
            }
        });
    });
});

بیشتر پارامترهایی که در قطعه کد بالا استفاده شدند، نیاز به توضیح ندارند ولی یکی از پارامترهایی که احتمالا گیج کننده باشد، dataType است؛ پس توضیحات بیشتری در مورد آن می دهم؛ چون شی Employee  را از طریق وب سرویس ارسال می کنیم پس انتظار داریم به json تبدیل شود. همچنین می توانیم شی Employee  را به عنوان رشته(string ) از وب سرویس گرفته و برگردانیم و در این مورد، لازم نیست به dataType  مقدار json را بدهیم.

فراخوانی وب سرویس

نکته مهم دیگر، برای دسترسی به اسکریپت asmx از سمت کلاینت، باید دستور زیر در بالای کلاس HelloService  اضافه شود( در غیر این صورت یک خطا به وجود می آید)

[ScriptService]

در یک اسکریپت، تنها وب سرویس هایی را می توان صدا زد که در تعریف کلاسشان، ویژگی از نوع  [ScriptService] داشته باشند.

حالا web application را اجرا کرده و روی دکمه کلیک کنید، باید خروجی به صورت زیر باشد:

{
    "d": {
        "__type": "CallAsmxViajQuery.Employee",
        "EmpFirstName": "ام اس پی سافت",
        "EmpLastName": "ام اس پی سافت آنچه یک برنامه نویس نیاز دارد"
    }
}

نتیجه گیری

در این آموزش، نحوه فراخوانی یک وب سرویس را با استفاده از jQuery Ajax نشان دادیم. به کمک ASP.NET asmx service یک وب سرویس ایجاد کرده و چگونگی فراخوانی یک web method به وسیله jQuery را دیدیم.

محمد دهقانی

نوشته‌های مرتبط

دیدگاه‌ها

*
*

این سایت از اکیسمت برای کاهش هرزنامه استفاده می کند. بیاموزید که چگونه اطلاعات دیدگاه های شما پردازش می‌شوند.

کدیشن ! مارکت پروژه های برنامه نویسی راه اندازی شدیه توکه پا بریم ببینم