0
如何檢索從客戶端發送的'數據'? (在現場 '數據')如何從服務器端的jQuery Ajax檢索「數據」?
<script type="text/javascript">
$(function() {
$('#btnAddProductAjax').click(function() {
var name = $('#txtProductName').val();
var units = $('#txtUnitsInStock').val();
var price = $('#txtPrice').val();
$.ajax({
url: '@Url.Action("AddProductAjax", "Home")',
type: 'POST',
dataType: 'JSON',
data: {
productname: name,
unitsinstock: units,
price: price
},
success: function (data) {
$('#divResult').html(data);
alert('Product added successfully');
}
});
});
});
</script>
我如何使用這些數據
data: {
productname: name,
unitsinstock: units,
price: price
},
在我的服務器端操作 'AddProductAjax'?
public JsonResult AddProductAjax(string data)
{
//retrieve data which is sent from client and do something
return Json(json_data);
}
我想:
- 從的Request.QueryString []
- AddProductAjax(字符串名稱,詮釋單位,INT價格)
- AddProductAjax(產品PROD)
谷歌搜索了幾個小時,沒有結果
UPD: 如果我這樣定義
AddProductAjax(string productname, int unitsinstock, decimal price)
行動 - 沒有任何反應。 Ajax甚至不會調用這個動作。 如果我嘗試
AddProductAjax(string productname, string unitsinstock, string price)
- 在調試器中所有的字段都是空的!
如果我定義動作像AddProductAjax(字符串productname,int unitsinstock,小數價格) - 沒有任何反應。 Ajax甚至不會調用這個動作。如果我嘗試AddProductAjax(字符串產品名稱,字符串單位,字符串價格) - 在調試器中,所有字段都是空的! – Andrew
重要的是,Action定義中的參數名稱與從AJAX調用發送的'data'對象中的值的名稱匹配。您可以嘗試在動作定義上添加'[HttpPost]'。我會更新我的答案來證明這一點。 – Kehlan
[HttpPost]不起作用:( – Andrew