Javascript 如何将多个JSON结果从控制器发送到视图?
在这里,我将一个项目从控制器发送到视图。如何将多个项目从控制器发送到视图Javascript 如何将多个JSON结果从控制器发送到视图?,javascript,jquery,asp.net-mvc,asp.net-mvc-3,asp.net-mvc-4,Javascript,Jquery,Asp.net Mvc,Asp.net Mvc 3,Asp.net Mvc 4,在这里,我将一个项目从控制器发送到视图。如何将多个项目从控制器发送到视图 //Controller public JsonResult GetQuantity(string id) { string getQuantity = ""; string items="Hello Quantity" getQuantity = items.ToString(CultureInfo.InvariantCulture); retu
//Controller
public JsonResult GetQuantity(string id)
{
string getQuantity = "";
string items="Hello Quantity"
getQuantity = items.ToString(CultureInfo.InvariantCulture);
return Json(getQuantity, JsonRequestBehavior.AllowGet);
}
// View
function GetQuantity(id) {
var targetDiv = '#divYarnDistributionViewer';
var url = "/STSM/STSA/YarnDistribution/GetQuantity/" + id;
var form = $("#frmYarnDistributionViewer");
var serializedForm = form.serialize();
$.post(url, serializedForm, function (result) {
$("#YarnDistribution_StockQuantity").val(result);
}, "json");
return false;
}
是的,就像控制器中的这样:
return Json(resulst = new {Quantity = 5, Price = 285,...}, JsonRequestBehavior.AllowGet);
在你的Js中
变量数量=结果数量;
var价格=结果价格 可以将具有多个属性的对象作为JSON返回。 假设您有一个具有某些属性的基本对象:
public class Stock{
public string Quantity { get; set; }
public string Quantity1 { get; set; }
}
您可以从数据源所在的任何位置获取一些库存,并将数量映射到库存对象。为简单起见,我们将创建一个硬编码的股票对象:
public JsonResult GetAllQuantities()
{
Stock stock = new Stock() {
Quantity = "2",
Quantity1 = "3"
};
return Json(stock, JsonRequestBehavior.AllowGet);
}
要查看Json是如何发送到客户端的,您可以在ajax请求的回调中将其打印到控制台。
请确保将您的请求从post更改为get,因为您只是在获取数据。在@JDupont和@Kevin Simple的帮助下,我已经解决了我的问题。
多亏了这些家伙
public JsonResult GetQuantity(string id)
{
// Here id is not used, i will use it to get Quantity and unit for my project purpose.
string getQuantity = "";
string getUnit = "";
string item1="Hello Quantity"
string item2="Hello Unit"
getQuantity = item1.ToString(CultureInfo.InvariantCulture);
getUnit = item2.ToString(CultureInfo.InvariantCulture);
return Json(new { getQuantity, getUnit },JsonRequestBehavior.AllowGet);
}
// View
function GetQuantity(id) {
var targetDiv = '#divYarnDistributionViewer';
var url = "/STSM/STSA/YarnDistribution/GetQuantity/" + id;
var form = $("#frmYarnDistributionViewer");
var serializedForm = form.serialize();
$.post(url, serializedForm, function (result) {
$("#YarnDistribution_StockQuantity").val(result.getQuantity);
$("#YarnDistribution_StockUnit").val(result.getUnit );
}, "json");
return false;
}
如何使用入库功能GetQuantity@jdupont通过在控制器文件顶部引用带有using的模型以及其他using来实现。在模型下创建Stock对象。我不是在讨论列表,我是在讨论多个字段,例如您的类Stock有一个属性Quantity,假设还有另一个属性Quantity1。现在,我想将这两个字段发送到我的函数中,然后我像$(“#yandistribution_quantity”).val(result1),$(“#yandistribution_quantity 1”).val(result2)那样检索它。有可能吗。我和凯文的答案都会让你这么做。在回调函数中,您会说:$(“#yardistribution_StockQuantity”).val(result.Quantity);和$(“#yardistribution_StockQuantity1”).val(result.Quantity1);唯一的区别是Kevin使用的匿名对象可能更适合您的需要,也可能不适合您的需要。请查看对我原始答案的编辑。让我知道它是否能解决问题。