سلام من مشکلی که دارم این هست که یک مدل رو به کنترلرم با ایجکس ارسال میکنم و تو کنترلر دریافت میکنم بعد از طریق دیتابیس فیلدهایی رو 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});
البته قطعه کد بالا یک نمونه تستی می باشد.
تاریخ :
1403/08/29
- ساعت :
07:15:00 PM
- بازدید :
57
- پاسخ :
0
|
تاریخ :
1403/08/18
- ساعت :
10:40:00 AM
- بازدید :
97
- پاسخ :
0
|
تاریخ :
1402/07/23
- ساعت :
04:01:00 PM
- بازدید :
1031
- پاسخ :
1
|
تاریخ :
1403/05/30
- ساعت :
09:22:00 AM
- بازدید :
426
- پاسخ :
1
|
تاریخ :
1402/08/16
- ساعت :
10:38:00 AM
- بازدید :
1348
- پاسخ :
1
|
تاریخ :
1398/08/17
- ساعت :
01:27:00 AM
- بازدید :
4796
- پاسخ :
1
|
تاریخ :
1403/07/27
- ساعت :
03:21:00 PM
- بازدید :
205
- پاسخ :
1
|
تاریخ :
1403/07/26
- ساعت :
09:00:00 PM
- بازدید :
116
- پاسخ :
0
|
تاریخ :
1403/07/09
- ساعت :
07:25:00 PM
- بازدید :
266
- پاسخ :
0
|
تاریخ :
1403/05/16
- ساعت :
09:57:00 AM
- بازدید :
395
- پاسخ :
2
|
تاریخ :
1403/08/29
- ساعت :
07:15:00 PM
- بازدید :
57
- پاسخ :
0
|
تاریخ :
1403/08/18
- ساعت :
10:40:00 AM
- بازدید :
97
- پاسخ :
0
|
تاریخ :
1402/07/23
- ساعت :
04:01:00 PM
- بازدید :
1031
- پاسخ :
1
|
تاریخ :
1403/05/30
- ساعت :
09:22:00 AM
- بازدید :
426
- پاسخ :
1
|
تاریخ :
1402/08/01
- ساعت :
06:25:00 PM
- بازدید :
930
- پاسخ :
1
|
تاریخ :
1402/08/16
- ساعت :
10:38:00 AM
- بازدید :
1348
- پاسخ :
1
|
تاریخ :
1398/08/17
- ساعت :
01:27:00 AM
- بازدید :
4796
- پاسخ :
1
|
تاریخ :
1402/09/08
- ساعت :
07:34:00 PM
- بازدید :
1157
- پاسخ :
1
|
تاریخ :
1402/09/21
- ساعت :
11:10:00 PM
- بازدید :
595
- پاسخ :
1
|
تاریخ :
1403/07/27
- ساعت :
03:21:00 PM
- بازدید :
205
- پاسخ :
1
|