[英]Ajax not posting data to controller
我通過ajax將數據發布到操作,但是問題是我無法通過控制器操作中的ajax發布數據。 在調試時,該調用將轉移到操作中,但是我什至沒有得到任何數據,甚至沒有'null'。
這是我的ajax電話,
$.ajax({
type: 'POST',
url:' @Url.Action("PostAmount", "Deal")',
data: { country: 2, amount: 4.02 },
datatype:JSON,
success: function (data) {
alert("hiiii"+data);
}
});
和我的行動
[HttpPost]
public JsonResult PostAmount(int country,double amount)
{
AllocationViewModel mod = new AllocationViewModel();
return Json(mod);
}
嘗試這個:
var dataToPost = "{ country:'" + 2 + "', amount:" + 4.02 + "}";
$.ajax({
url: @Url.Action("PostAmount", "Deal")',
type: "POST",
dataType: 'json',
data: dataToPost,
cache: false,
contentType: "application/jsonrequest; charset=utf-8",
success: function (data) {
alert("hi"+ data);
}
});
嘗試以下方法:
$.ajax({
type: 'POST',
url:' @Url.Action("PostAmount", "Deal")',
data: { "country": "2", "amount": "4.02" },
datatype:JSON,
success: function (data) {
alert("hiiii"+data);
}
});
或最佳解決方案是將值保存在對象中,並使用jquery函數“ stringify”,然后將值發送過來。 那應該工作。
嘗試將json放在引號中
$.ajax({
type: 'POST',
url:'@Url.Action("PostAmount", "Deal")',
data: { country: "2", amount: "4.02" },
dataType:"json",
traditional:true,
success: function (data) {
alert("hiiii"+data);
}
});
您還可以在對象上使用JSON.stringify(yourObject)
使其成為JSON對象。 這樣可以更輕松地在javascript中創建對象,然后將其傳遞到發布請求的data參數中。 也請使用字符串作為datatype參數( https://api.jquery.com/jquery.post/ ),如上面的答案所建議。
var dataToPost = { country: 2, amount: 4.02 };
$.ajax({
type: 'POST',
url:' @Url.Action("PostAmount", "Deal")',
data: JSON.stringify(dataToPost),
datatype: 'json',
success: function (data) {
alert("hiiii"+data);
}
});
另一種方法是JSON.parse(yourJsonObject)
。 這樣,您可以將JSON字符串解析為Javascript對象。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.