Javascript Ajax POST数据未出现在模式中
我有一个由JSON数据填充的表。在最后一列中,您可以打开对应于每一行的模式,并可以在输入框中添加注释——这样做将更新该模式。换句话说,没有注释的表行具有空模式,并且至少有一条注释的行应该出现在它们对应的模式中 在我的后端管理器(SQLServerManagementStudio)中,我可以看到注释显示在那里,但它们没有出现在modals中 我不知道问题是来自JavaScript方面(视图)、模型还是其他方面 DocBudgetId的添加相对较新。在此之前,审查/评论数据与文件编号关联,信息出现在模态中。我怀疑我必须对DocBudgetId进行调整/更改,但我不确定如何进行 模态屏幕截图:左上角显示Javascript Ajax POST数据未出现在模式中,javascript,c#,sql,ajax,Javascript,C#,Sql,Ajax,我有一个由JSON数据填充的表。在最后一列中,您可以打开对应于每一行的模式,并可以在输入框中添加注释——这样做将更新该模式。换句话说,没有注释的表行具有空模式,并且至少有一条注释的行应该出现在它们对应的模式中 在我的后端管理器(SQLServerManagementStudio)中,我可以看到注释显示在那里,但它们没有出现在modals中 我不知道问题是来自JavaScript方面(视图)、模型还是其他方面 DocBudgetId的添加相对较新。在此之前,审查/评论数据与文件编号关联,信息出现在
DocNumber
。已对此模式所属的行进行了注释,但它们未出现在模式表中
型号:
视图:
这里的问题是“GetDocUnderReviewDetails”操作接受GET请求,并向其发送post请求。您只需更改ajax请求类型即可获得
type: "GET",
url: "/Doc/GetDocUnderReviewDetails",
我注意到的另一件事是,您在请求中也发送了docNumber,而您的操作不需要它。尽管这不会导致任何问题,但您不需要在ajax中发送该问题,这里的问题是您的“GetDocUnderReviewDetails”操作接受GET请求并向其发送post请求。您只需更改ajax请求类型即可获得
type: "GET",
url: "/Doc/GetDocUnderReviewDetails",
我注意到的另一件事是,您在请求中也发送了docNumber,而您的操作不需要它。尽管这不会引起任何问题,但您不需要在ajax更新中发送它:我做了一些修补,得到了要显示的表数据 在存储过程(
GetDocUnderReviewDetails.cs
)中,我注释掉了行where DocBudgetId=@DocBudgetId
,并添加了where DocNumber=@DocNumber
。我注意到,如果我只是注释掉了where DBI=
,那么它显示了对每个模态的所有注释,这是我之前处理的问题
现在,我的存储过程如下所示:
namespace BB360
{
public partial class Sql
{
public const string GetDocUnderReviewDetails = @"
select
DocBudgetId,
DocNumber,
ReviewBy,
convert(varchar, ReviewOn, 101) as ReviewOn,
isnull(ReviewComment, '') as ReviewComment
from DocBudgetReview
--where DocBudgetId = @DocBudgetId
where DocNumber = @DocNumber
order by ReviewOn desc
";
}
}
我还向控制器添加了字符串docNumber
:
public ActionResult GetDocUnderReviewDetails(Guid docBudgetId, string docNumber)
{
var data = Common.GetBBDbExecutor().Query<BudgetReportingViewModel.ReviewRow>(Sql.GetDocUnderReviewDetails, new {
docBudgetId,
docNumber
}).ToList();
return Json(data);
}
公共操作结果GetDocUnderReviewDetails(Guid docBudgetId,字符串docNumber)
{
var data=Common.GetBBDbExecutor().Query(Sql.GetDocUnderReviewDetails,新建{
docBudgetId,
文件编号
}).ToList();
返回Json(数据);
}
更新:我做了一些修补,得到了要显示的表数据 在存储过程(
GetDocUnderReviewDetails.cs
)中,我注释掉了行where DocBudgetId=@DocBudgetId
,并添加了where DocNumber=@DocNumber
。我注意到,如果我只是注释掉了where DBI=
,那么它显示了对每个模态的所有注释,这是我之前处理的问题
现在,我的存储过程如下所示:
namespace BB360
{
public partial class Sql
{
public const string GetDocUnderReviewDetails = @"
select
DocBudgetId,
DocNumber,
ReviewBy,
convert(varchar, ReviewOn, 101) as ReviewOn,
isnull(ReviewComment, '') as ReviewComment
from DocBudgetReview
--where DocBudgetId = @DocBudgetId
where DocNumber = @DocNumber
order by ReviewOn desc
";
}
}
我还向控制器添加了字符串docNumber
:
public ActionResult GetDocUnderReviewDetails(Guid docBudgetId, string docNumber)
{
var data = Common.GetBBDbExecutor().Query<BudgetReportingViewModel.ReviewRow>(Sql.GetDocUnderReviewDetails, new {
docBudgetId,
docNumber
}).ToList();
return Json(data);
}
公共操作结果GetDocUnderReviewDetails(Guid docBudgetId,字符串docNumber)
{
var data=Common.GetBBDbExecutor().Query(Sql.GetDocUnderReviewDetails,新建{
docBudgetId,
文件编号
}).ToList();
返回Json(数据);
}
不确定是否相关,但为什么要发送docNumber和docBudgetId,因为服务器端在控制器方法中只接受docBudgetId,您正在接受Guid参数并将数据作为字符串传递,所以请确保Guid为字符串。不确定是否相关,但是为什么要发送docNumber和docBudgetId呢?因为服务器端在您的控制器方法中只接受docBudgetId,您接受的是Guid参数,并且您将数据作为字符串传递,所以将Guid设置为string.Hi@manvinder singh。这绝对是一个POST请求(即使url名称中有
Get
),并且DocNumber显示在模式的顶部,因此可以轻松识别。文件编号正确地显示在那里。嗨,曼文德·辛格。这绝对是一个POST请求(即使url名称中有Get
),并且DocNumber显示在模式的顶部,因此可以轻松识别。文档编号正确地显示在那里。
public ActionResult GetDocUnderReviewDetails(Guid docBudgetId, string docNumber)
{
var data = Common.GetBBDbExecutor().Query<BudgetReportingViewModel.ReviewRow>(Sql.GetDocUnderReviewDetails, new {
docBudgetId,
docNumber
}).ToList();
return Json(data);
}