دریافت مقدار undefined بعد از ارسال درخواست به سرور توسط Jquery ajax
سلام من مشکلی که دارم این هست که یک مدل رو به کنترلرم با ایجکس ارسال میکنم و تو کنترلر دریافت میکنم بعد از طریق دیتابیس فیلدهایی رو select میکنم و برمیگردونم به ویو از طریق همون ایجکس
الان مشکلم اینه که وقتی مقدار رو میخونم طرف ویو undefine میده بهم
این کد طرف ویو
function Add(selectionFilter) {
var html = "";
var resultGet = null;
$.ajax({
url: "/SellRep/AddData/",
type: "POST",
//data: JSON.stringify(selectionFilter),
data: JSON.stringify(selectionFilter),
contentType: "application/json; charset=utf-8",
dataType: "json",
success:
function (resultGet) {
if (resultGet.length !== 0) {
alert(resultGet.length);
$.each(resultGet,
function (key, item1) {
alert(item1.FromSource);
// alert(result.CustomerName);
html += "<tr>"
+"<td> " + item1.CustomerName + "</td >"
+"</tr>";
// alert(html);
});
$("#booksTable > tbody").html(html);
کدهای سمت کنترلر
اینم بگم وقتی len رو میگیرم طول لیستم که سه تا هست رو برمیگردونه
اینم کد طرف کنترلرم
public IActionResult AddData([FromBody]SelectionFilter selectionFilter)
{
List<SellRepModel> SellRepModels;
if (selectionFilter != null)
{
SellRepModels = _context.SellRepModels.FromSql("EXEC HS_BasGetInvoiceRep ").ToList();
return new JsonResult(SellRepModels);
}
return new JsonResult(null);
}
دوست عزیز در core وقتی یک مدل رو در پاسخ به یک درخواست ajax بر میگردونید نام فیلد های دریافت شده با نامی که شما در مدل روی اونها گذاشتید ممکنه متفاوت باشه.
به فرض مثال شما یک پراپرتی در مدلتون دارید به نام PostalCode
ولی در ویو در متد success ایجکس با نام postalCode دریافتش میکنید و p اول کلمه کوچیک میشه .
به همین دلیل هم هست که مقدار undefined دریافت میکنید
با سلام و درود
شما کدهای خودتون رو کامل قرار ندادید. اما اولین مشکلی که در همین کدها میشه مشاهده کرد این هست که وقتی میخواید مقداری رو از سمت سرور دریافت کنید که توسط یک درخواست ایجکس ارسال شده نام پارامترهای دریافتی باید همه حروف کوچک باشه.
$.each(resultGet,
function (key, item1) {
alert(item1.FromSource);
// alert(result.CustomerName);
html += "<tr>"
//در این قسمت
+"<td> " + item1.customername + "</td >"
+"</tr>";
// alert(html);
});
همچنین در سمت کنترلر هم باید نام متغیرهای با حروف کوچک ارسال بشه
_context.Customer_Table.Select(C => new {customername = C.CustomerName, customerid = C.CustomerID});
البته قطعه کد بالا یک نمونه تستی می باشد.
- آموزش استفاده از SignalR در Asp.net Core با مثال عملی
- ادغام چند گزارش استیمول سافت بصورت پی دی اف در یک فایل
- نحوه تغییر استایل کامپوننت select2 چگونه است ؟
- چگونه امنیت پروژه را در Asp.net Core افزایش دهیم ؟
- ارسال پارامتر در دستور window.open جی کویری
- ارسال پارامتر از طریق جاوااسکریپت با کلیک روی تگ a
- خطای 500 زمان اجرا شدن پروژه روی هاست
- کویری نویسی در استیمول سافت جهت فیلتر اطلاعات
- نمایش صفحه در پنجره جدید با کلیک روی لینک (تگ a) در Asp
- افزودن مقادیر به صورت دستی به List دریافت شده از ریپازیتوری
- کار با CkEditor با قابلیت آپلود عکس
- خطا در ایجاد migration در Asp.net core
- تفاوت های Asp.net core و Asp.net mvc چیه؟
- دلیل اسپم شدن ایمیل های ارسالی از سرور
- نحوه لایه بندی پروژه Core و اضافه کردن به IIS
- ارسال ایمیل در Asp.net core
- آیا میشه در mvc core از کامپونت استفاده کرد
- آپلود فایل در Asp.net core چگونه است؟
- حذف کامل یک رکورد در جدول ریلیشن شده
- اشکال در آپلود فایل ویدیو در mvc core 2