دسته بندی ها
20:02 1398/10/15

ارسال اطلاعات با استفاده از ایجکس به همراه پارامتر

مشخصات سوال کننده :
کاربر : hamid_b     امتیاز کاربر : 518     رتبه کاربر : 4
دسته بندی : جی کوئری جاوا اسکریپت

به این سوال امتیاز بدهید    0
تعداد بازدید این سوال : 3153
هوش مصنوعی

پاسخ هوش مصنوعی

برای ارسال اطلاعات با استفاده از jQuery و AJAX به سمت سرور، باید اطمینان حاصل کنید که پارامترها به درستی فرمت شده اند و به صورت صحیح به سرور ارسال می شوند. در کدی که شما نوشته اید، ساختار `data` نادرست است. به جای ترکیب رشته ها، باید از یک شیء استفاده کنید.

در زیر کد اصلاح شده برای ارسال اطلاعات آورده شده است:

$.ajax({
        type: "post",
        url: '@Url.Action("MyAction", "MyController")',
        data: {
            selectedItems: $('#selectedItems').val(),
            selectedChartId: $('#selectedId').val()
        },
        success: function(response) {
            // عملیات موفقیت آمیز
            console.log(response);
        },
        error: function(xhr, status, error) {
            // مدیریت خطا
            console.error(xhr.responseText);
        }
    });

همچنین، مطمین شوید که `#selectedItems` و `#selectedId` در HTML شما وجود دارند و مقداردهی می شوند.

کد HTML شما به درستی نوشته شده اما برای کار با دکمه باید اطمینان حاصل کنید که پیش فرض ارسال فرم متوقف شود. بنابراین می توانید کد زیر را به تابع `click` دکمه اضافه کنید:

$('#btnsubmit').click(function(event) {
    event.preventDefault(); // جلوگیری از ارسال پیش فرض فرم
    // کد AJAX اینجا قرار می گیرد
});

این تغییرات به شما کمک می کند تا اطلاعات را به درستی از طریق AJAX به سمت سرور ارسال کنید.

به این پاسخ امتیاز بدهید    0
امتیاز: - رتبه: -
پاسخ دهنده : saedbfd 20:23 1398/10/15

شما توی نوشتن دستورات jquery و Ajax چند اشتباه دارید که به ترتیب بررسی می کنم:

 

  • آدرس دهی در بخش URL

برای آدرس دهی باید به شیوه زیر عمل کنید

url: '@Url.Action("MyAction", "MyController")'

 

یعنی ابتدا باید نام اکشن رو بیارید و بعد از اون نام کنترلر. در حالی که شما دقیقا برعکس عمل کردید.

 

  • ارسال پارامتر توسط Ajax

پارامترهایی که شما ارسال کردید دقیقا مثل یک Url ارسال کردید. در حالی که نحوه ارسال پارامتر در ایجکس به این صورت نیست. شکل صحیح ارسال پارامتر توسط جی کوئری ایجکس به شکل زیر هست:

data: { 'param1' : val1 , 'param2' : val2 }

 

یعنی باید نام پارامتر رو داخل کوتیشن بنویسید، بعد از اون : و سپس مقدار پارامتر. برای پارامتر دوم هم یک ویرگول قرار بدید و مثل پارامتر اول عمل کنید. در مجموع شکل صحیح ارسال پارامتر در جی کوئری ایجکس در مثال شما به شکل زیر میشه 

$.ajax({
        type: "post",
        url: '@Url.Action("MyAction", "MyController")',
        data: { 'selectedItems' : $('#selectedItems').val() , 'selectedChartId' : $('#selectedId').val() }
            });

 

برای کسب اطلاعات بیشتر در مورد ارسال پارامتر در جی کوئری ایجکس این لینک رو مطالعه بفرمایید

به این پاسخ امتیاز بدهید    1
امتیاز: 1664 رتبه: 1
برای ارسال پاسخ لطفا وارد حساب کاربری خود شوید.   ورود